Simplify invokeCallback() and support void return values for IDL callbacks

Now that all callbacks are forced to be v8::Functions, invokeCallback() can be
a lot simpler: no more need to look for a handleEvent method on a v8::Object.

Only a single caller made use of the |callbackReturnValue|, so it's been removed
and that caller now takes care of calling the callback.

invokeCallback() is now just a TryCatch around ScriptController::callFunction.
I also inverted the return value of invokeCallback: true means "everything went fine",
false means "threw an exception".

In making that change, it became clear that most callbacks don't actually have
a return value (and their callers don't care what the called function returns),
and were only using "boolean" in the IDL files because that was all the code
generator supported. I've added support for "void", which is used everywhere
except for a few cases in WebSQL.

R=haraken@chromium.org, nbarth@chromium.org

Review URL: https://codereview.chromium.org/111603006

git-svn-id: svn://svn.chromium.org/blink/trunk@163665 bbb929c8-8fbe-4397-9dbb-9b2b20218538