Add cabal file and fix prompt scrolling bug

Bonus commit: some refactoring in EventStore.hs!

I haven't figured out how to get the websockets to work properly :(