Moving the InputHandler to backends/internal package. This accomplishes a couple things
Clear up the main pixel namespace (handler is never referenced directly by users)
With it being a completely internal struct, it is safe to export members directly rather than having handler functions that then get called by window functions. e.g. win.JustPressed(...) can access the PressEvents array directly rather than calling handler.JustPressed(...)
Embedding InputHandler directly in Window rather than using a pointer. Since the handler is never accessed outside of Window, there is no reason for it to be a pointer. This gives a 17-20% increase in access speed according to benchmarks.
Moved the JoystickState struct into the internal package to further differentiate between opengl package specifics and generic backend utilities.
Moving the InputHandler to backends/internal package. This accomplishes a couple things
Embedding InputHandler directly in Window rather than using a pointer. Since the handler is never accessed outside of Window, there is no reason for it to be a pointer. This gives a 17-20% increase in access speed according to benchmarks.
Moved the JoystickState struct into the internal package to further differentiate between opengl package specifics and generic backend utilities.