Controller updates

Made swapping Controllers much simpler using dynamic importing.
Fixed all action keys to be ENTER
handled quitting the game in main.py
separated dialog view from game view
removed steve-sample

I don't think we should do this. The reason that I originally kept the dialog controller without it's own view is because it doesn't do anything unique with it. We can leverage the game view for rendering and ensure that the layering is preserved. The dialog controller is only swapped in for the untimed dialogs which require user input to dismiss. What is your plan for handling timed dialogs that render in the same space as the character?