Fix bootstrap: global should be this, not window

In a javascript context, all JS function are not all attached to the window object.
This is the case of 'native' functions. In SlimerJS, the 'require' function is
not attached to the window object. It is a standalone function.
Bootstrap.js: specific support of patchRequire for SlimerJS

SlimerJS provides an API to indicate paths where modules
can be found: require.paths (CommonJS specification).
So patchRequire is not needed for SlimerJS.
refs #482: Adds an --engine=.. option

It will allow to choice different browser engines, instead of phantomjs
refs #482: supports of --engine=slimerjs

This options allows to use SlimerJS (gecko) instead of PhantomJS (webkit)
refs #482 - fixed issues pointed by jshint
spelling fix
Merge pull request #487 from Tadwork/patch-1

spelling fix
fix #489 - evaluate() should return a result which can be altered
Update colorizer.js to check for ANSICON and have colors on Windows

Check env variable 'ANSICON', and if exists, colorize the output.
Update colorizer.js to check for ANSICON and have colors on Windows

Check env variable 'ANSICON', and if exists, colorize the output.
Update colorizer.js to check for ANSICON and have colors on Windows
Merge pull request #491 from renatodarrigo/patch-1

refs #490 - checking for ANSICON on colorizer.js to have colors on Windows
added warning for when trying to use casper in a node env
proper exit when node is detected
fixed jshint
refs #482: sync with master
Refs #482: creation of default UA should take care about SlimerJS
Add missing backslash in assertMatch example

Forgotten backslash breaks syntax coloration in assertMatch() example.
Refs #482: CasperJS should wait after the browser initialization

The call of webpage.open() (or openUrl()) is synchronous in PhantomJS,
but is asynchronous in SlimerJS (it needs to open a real window etc..).

So CasperJS should not launch the next step just after the call of
webpage.openUrl(). A flag is set to true before this call, and
then set to false when receiving the first event from the page loader.
And this flag has to be checked before to execute the next step.
Refs #482: CasperError should be declared as a global function