improve logging and add method entry/exit instrumentation

Here's a first take at some improvements to logging, per discussions with @marco-c in IRC.

This changeset adds the logConsole and logLevel URL params, where logConsole can be any comma-separated combination of *web* (the Web Console), *page* (the in-page console), and *native* (the native console, i.e. *dump*); and logLevel can be any of the values *trace*, *log*, *info*, *warn*, *error* (in that order of severity). Messages at or above the specified log level will be logged to the specified consoles.

I also went through the various `console.*` calls and changed their severities where appropriate. And I added a primitive mechanism to instrument method entry/exit, so we can log within non-native methods without having to modify their Java source. I'd like to add some tests, although I'm not yet sure how to implement them.

My only concern here is that sometimes I've used System.out.println to debug some code and it was easy to see what I was printing because there wasn't so much stuff under "Output:". With this patch instead, doing this would be more difficult (because the logging lines will be interleaved).
Categorizing the logging would help, I guess we can do it in a following patch.