First step for message projection aspects

The previous event log projection code was nasty.
Now we're closer to some kind of structure, defining
each aspect as its own object conforming to a projection
interface.
JS: Make projections pluggable
Enable client events in offline mode
Make area minimization work again

Also limit the number of messages drawn.
Show your own sent PRIVMSGs

...except now it doesn't actually send them, because
the channel/server descriptor system is broken. :(
Pick random self nick for fun and debugging
Remove spurious delay
Break words in chat lines to prevent X scroll