FEAT: handle special float literal 1.#NaN and +/-1.#INF.

FIX: lexer can't handle string like "-.3".
TESTS: added tests for special float literal.