Major overhaul. Started using requireJS and modularised objects better. Sorted lib into 4 folders (client, server, shared and external for external libraries)