Make FlxKey dedicated to identifying keys. Closes #1164

In this change:
* `FlxKeyInput` typedef is now used instead of the old `FlxKey` for input monitoring.
* `FlxKey` is now an abstract enum mapping enum values and case-insensitive strings to keycodes.
* No need for `keyLookup` anymore. Strings automatically cast to `FlxKey`s.

Essentially this means there is now one way to identify keys (`FlxKey`) whereas before you could either identify keys by keycode, using the old `FlxKey`, or by string with `FlxKeyName`. This removes the inconsistency and need to convert from name to keycode.
I'm not so sure those comments would be sensible. For some of the ranges, sure, but then for the big array it's just a mess, and even some of the ranges aren't sensible divisions.