Compile the breakpad client in directly.

This removes the need to build breakpad as a separate step.

PhantomJS developers will still need to cd src/breakpad && ./configure
&& make in order to analyse crash dumps, but it is not longer necessary
in order to build PhantomJS itself.

https://code.google.com/p/phantomjs/issues/detail?id=576
Handle multiple file inputs.

https://code.google.com/p/phantomjs/issues/detail?id=256
Merge pull request #263 from jonleighton/breakpad

Compile the breakpad client in directly.
Merge pull request #262 from jonleighton/stacktraces

Error.stack returns a string to match V8/Node.js
Merge pull request #264 from jonleighton/multi_file_input

Handle multiple file inputs.
Fix missing Makefiles in breakpad due to global .gitignore.

http://code.google.com/p/phantomjs/issues/detail?id=587
Add a few more missing Makefiles.

http://code.google.com/p/phantomjs/issues/detail?id=587
Merge pull request #267 from jonleighton/breakpad

Add a few more missing Makefiles.
Adding a new "evaluateAsync" on the "webpage" object.

This is useful in case:
* we don't care about the result of the evaluate
* we don't need to have the result of the evaluate on the spot
* we need the stack of execution to begin WITHIN the page

Also, linting code: everyone should use a linter when writing Javascript. Everyone.

http://code.google.com/p/phantomjs/issues/detail?id=593
Adding "window.phantomCallback()" within the page context.

The callback is harmless: if the user registers a "page.onCallback = [Function]",
that will receive any JS type passed via "phantomCallback()".
Also, if the handler for ".onCallback" returns a value, that is passed back as a
return value of "phantomCallback()".

Also, added "page.onConfirm" and "page.onPrompt".
This solves [Issue #133](http://code.google.com/p/phantomjs/issues/detail?id=133).
Another tweak for "evaluateAsync".

Making sure all the parameters are passed on correctly.

http://code.google.com/p/phantomjs/issues/detail?id=593
Render page as a base64 string.

Provided API for the Webpage object:
- renderBase64PNG()
- renderBase64JPG()
- renderBase64BMP()

Addresses [Issue #547](http://code.google.com/p/phantomjs/issues/detail?id=547).
Allow debug/warning messages to be enabled at runtime.

https://code.google.com/p/phantomjs/issues/detail?id=575
Do not attempt to compile PhantomJS if the Qt compile failed.

http://code.google.com/p/phantomjs/issues/detail?id=226
Fix error handler when error is null.

http://code.google.com/p/phantomjs/issues/detail?id=589
Add navigation event hook to PhantomJS.

http://code.google.com/p/phantomjs/issues/detail?id=562
Adding the ability to switch between frames.

1. Passing JavaScript eval and other related actions to the CurrentFrame, not the MainFrame.
2. Added different methods to navigate between frames
3. With a call to "window.frames[0].focus()", the "currentFrame" changes: commands after that are sent to the new frame under focus.
4. The navigation between frames allows to walk over the "tree of frames" contained in the page.

This commit also adds examples (both in JS and CoffeeScript) and Unit Test.

http://code.google.com/p/phantomjs/issues/detail?id=573
Adding property "os" to the "system" module.

Contains the properties:
- name
- architecture
- version

http://code.google.com/p/phantomjs/issues/detail?id=585
Adding missing completions on the "WebPage" object

http://code.google.com/p/phantomjs/issues/detail?id=573
http://code.google.com/p/phantomjs/issues/detail?id=547
Fixing a compilation problem on Ubuntu 10.04 64bits

Return type for 'window.callPhantom', in case no handler is set, has to be 'null', not '0'

http://code.google.com/p/phantomjs/issues/detail?id=133