Initial proof of concept for scoping gamepad inputs
- Push input scope if a GameObject has an InputScope component, which pushes the active input context
- Don't use Controller.First anywhere other than UI
- Poll every gamepad input and store an InputContext per controller, instead of just the first one
Todo:
- Fallback to first controller if we don't define any input scopes at all
- Let the keyboard and mouse easily be the "non-scoped" input, so we can have two player games with just one gamepad