Switch to Elerea.Param

Wasn't really planning to work on this this week but I was bored :). This moves the engine out of the user's scope and makes `run` work like it was described in it's comment:

```haskell
import FRP.Helm
import qualified FRP.Helm.Window as Window

render :: (Int, Int) -> Element
render (w, h) = centeredCollage w h [rect ((fromIntegral w)/2) ((fromIntegral h)/2) |> filled red]

main :: IO ()
main = run defaultConfig $ lift render Window.dimensions
```
I think we could go further and let the user write a `main :: Signal Element`. Maybe using [dyre](https://github.com/willdonnelly/dyre) or possibly even something simpler. What would you say to that?