Splitting the DisplayResult into StaticResult + DynamicResult

Updating the code in many places.
Changing the datatype again and providing plumbing
Reviving the test-suite
needsInput function
Tidying up sources & test suite
Fixing a bug that would result in accidental closures of sockets
Updating example
Reviving EvalInteractive + more stubs for ghcjs
Moving the prototype rendering classes into the main project tree

- Created display-interactive package

- Renderable & Inputable classes moved to
  Diagrams.Interactive.Display.Dynamic.Class
Additional Renderable instances
Modifying AST on the fly
Example of AST modification + linking
Merge branch 'master'
Keeping up with the latest Scotty changes
Updating the example; using variants instead of ghcjsLinkBinary
Source modification monad

- SourceMod monoid -> monad
- injectRender now copies the type signature
- modifying smod.hs example accordingly
[note: we are lucky that GHC permits nested where clauses]
Tests + tidying up
Incorporating generation of JS code into eval-api

In addition to moving stuff from `Smod.hs`

- cleanup handler in `runToHandle'
- cpuTimeLimits should NOT be set in order for ghcjs to function properly
- the actual js result is still not being sent
Updating tests, .gitignore
Integrating DynamicResult into scotty-pastebin