adding guard for null strings to extract method
adding location event
adding title event
adding status event
adding completion event
moving location event
updates to event implementations
don't delay setUrl() invocation
implement execute() and ensure that alloc'd strings are being freed
untrusted setText and version checking

setText is for the most part more straightforward in CEF than in the other
browsers. Title events are fired correctly even in the absence of titles
and it appears to fire loading events correctly. However trusted
navigation is not currently working. The load_string method provided by
frame appears to refuse to run with the url set to a native url. If you
navigate manually to a native url first then attempt to set the text with
the url specified as the root it will not run. The code returns the error
-310, too many redirects.

As for the isInstalled, cef3 gives us the revision number, which I am just
checking with equality. I am not sure if this should be changed to be >=,
I am not aware how commited CEF is to backwards compatibility.