Client side logging (sent to the server and *actually* logged there).

~545k LOC javascript vs ~33k groovy, and yet we don't log at all in javascript.  This allows us to start logging. Apart from finding errors which would otherwise go unnoticed, we could also use this to start taking stats on what users are doing (e.g. how long on each tab, how are they using the portal).