An attempt at a port of the Elm Mario example (http://elm-lang.org/edit/examples/Intermediate/Mario.elm)