Implement hexadecimal floating point literals via a syntax extension

closes #1433