Added wasd movement... the wasd movement doesnt have a bug where you can't go down+left+shoot at the same time, which the arrow keys have... will probably not look into it as it is hardware related. Also added efficieny case for handling only one  state for ApplicationStateManager