Should conversions between different fixed point representations work (example below) ?

Also I’d like to use the library for some DSP algorithm implementation, so doing things like automatic promotion of multiplies to more bits would be really nice.

Thinking about it, I decided that FixedPointNumbers should not do that, I like the fact that it maintains consistency in the results.

So what I need to do is -

- create a value of 15 bits of precision
- extend to 31 bits
- perform a multiplication
- truncate back to 15 bits

However it looks like the only way to perform that sequence to do intermediate conversions to float and then back.

am I missing something ?

```
julia> using FixedPointNumbers
julia> t1=Fixed{Int32,15}
FixedPointNumbers.Fixed{Int32,15}
julia> t2=Fixed{Int16,15}
FixedPointNumbers.Fixed{Int16,15}
julia> a=t1(0.25)
0.25Q16f15
julia> b=convert(t2, a)
ERROR: MethodError: Cannot `convert` an object of type FixedPointNumbers.Fixed{Int32,15} to an object of type FixedPointNumbers.Fixed{Int16,15}
This may have arisen from a call to the constructor FixedPointNumbers.Fixed{Int16,15}(...),
since type constructors fall back to convert methods.
julia>
```