BitPruning: Learning Bitlengths for Aggressive and Accurate Quantization