Allow constant doubles to be treated as FloatImm (but emit a nasty warning)

This is mostly to give a better error message when people use double literals.

Fixes #285