High-level Haskell SDL bindings