Implement Finite State Machine to handle canvas loading
Changed coupling of game and loader. Loader now contains game. Game now takes a canvas as an argument