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.
This check should be reversed for performance reasons (to minimize string allocations):
```
if (key == Key || key == "ANY")
```