Implement on-screen REPL, restructure codebase

Squashed commit of the following:

commit 545fd15c9ac68fadaa95e58837369647a19b205c
Author: Hannes Gräuler <hgraeule@uos.de>
Date:   Sat Mar 2 18:57:13 2013 +0100

    TODO, remove some imports

commit 68b8a4bcfe2a3aeb29056b6bd30335429331abd9
Author: Hannes Gräuler <hgraeule@uos.de>
Date:   Sat Mar 2 18:47:11 2013 +0100

    Split Viewer.hs into Constants, Display, InputActions

commit 74eeba34224b8b57cff8a28d484cf00bf936d244
Author: Hannes Gräuler <hgraeule@uos.de>
Date:   Sat Mar 2 18:19:28 2013 +0100

    The E and P part of the REPL

commit 237a111923531123305e6c71c80b5a94f5a7b86d
Author: Hannes Gräuler <hgraeule@uos.de>
Date:   Sat Mar 2 12:10:20 2013 +0100

    update readme

commit 685c5a4a6ffce301755bec8a970fe9401fabe928
Author: Hannes Gräuler <hgraeule@uos.de>
Date:   Sat Mar 2 12:05:08 2013 +0100

    Can now type into repl

commit 19a2315099639e1bc7d14a637f742259a9daece3
Author: Hannes Gräuler <hgraeule@uos.de>
Date:   Sat Mar 2 12:04:42 2013 +0100

    Use linear texture filtering for prettier output

commit b7b9fc9c9cf407ae4cbd40634a28aea5254164c2
Author: Hannes Gräuler <hgraeule@uos.de>
Date:   Sat Mar 2 11:39:29 2013 +0100

    Toggle Help, REPL

commit e82ac32e6db2a6c77f5fe8824acad923ba74c18f
Author: Hannes Gräuler <graeuler@geoplex.de>
Date:   Fri Mar 1 18:32:07 2013 +0100

    REPL wip

commit d374b3cfa21b4f155c9f5523d045fd7afdcf1b72
Author: Hannes Gräuler <graeuler@geoplex.de>
Date:   Wed Feb 27 18:29:55 2013 +0100

    repl wip

commit 99612062737862c847d9d50bb7f6dd055d9120ea
Author: Hannes Gräuler <hgraeule@uos.de>
Date:   Wed Feb 27 10:29:03 2013 +0100

    repl test
Version bump, README, TODO