CLEVER: a Cooperative and Cross-Layer Approach to Video Streaming in HetNets