Performance optimisation, map bug fix

Removed the dreaded with clauses used in entity, character and player
ticks. I didn't think they'd be too much of a performance hit until
earlier today when I read what using a with statement in JavaScript
actually does. No more trading short/readable code for performance.

Also fixed multiplayer bug where tiles wouldn't immediately join the
correct side of the display list regarding whether they are solid or
not. This was down to Map.expand reading in string values to the map
data, as a result of Map.flat generating literally just a flat string of
numbers separated by commas.

Herping some derps, but it's all fixed now, and hopefully the server
will run faster thanks to the removal of the with statements.