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.

*System.out.println* directs output to *ConsoleOutputStream.write*, which calls *console.print*, which calls *console.info*; so you should be able to reduce the amount of other output you see by setting *logLevel* to `info`, which will hide all the stuff logged at level "log".

I also plan to add an API for logging from Java code, something like org.mozilla.Log, which'll enable you to log from Java code at any level, including warn/error, which'd enable you to further reduce the amount of log output you receive.

And then we should implement a filtering mechanism for the in-page log.

But I'd like to do that stuff as followups.