If we try and initialize anything controller related before the event
subsystem is initialized we lose all controllers detected on startup.
To solve this we simply wait until the first frame is about to be rendered
*then* initialize the controller subsystems