Make long double the same type as double.

On x86-64, long double should be 80-bit flonum with 48 bit padding.
There's no SSE instruction to handle 80-bit flonum, that type needs to
be handled with x87 instructions. 8cc doesn't support that yet.

long double is actually completely broken.

For now, I'd like to make long double a synonym for double. It's ABI-
incompatible change, so you are still unable to use a function handling
long double compiled with a different compiler after this change.
But I believe it's still better than nothing.
Fix floating-constant.

"0x12p-34" is for example a token. 8cc lexer split that into two tokens.
Add float.h.

The long double precisions are less accurate than they should
be on x86-64. This is becuase of the lack of long double support.
Currently long double is the same type as double. It'll be fixed
in a following patch.