Engine no longer requires 'game.h'

Required a lot of changes inside game, and how input manager and
graphics engine are passed
State manager is responsible for states rather than game now
State manager now gets gfx and input shared ptr from game, and gives to
active state to use
Input = shared ptr singleton now
More changes to menu system + items
Memory leak when changing states currently