Moved entities, fixed unit tests

Moved all the entities into their own entities folder and updated all
the require.js references to point at the new location. Unit tests
needed updating for previous commits too.
Refactor and start of de/serialisation

Moved engines into their own folder.
Started the work to serialise and deserialise models. Serialisation is
going well, blocks into JSON (without connectors so far) but
deserialisation has some issues with updating the widths of the block
views. No doubt I am updating the wrong width or height, or need to
change more than a single container width and height. jquery-ui might
need some love there.