Added mechanics to show intro screen

Added mechanics to show intro screen and handle button clicks.
Using observer pattern to simplify events because my other projects
became spaghetti code due to all the callbacks.