implemented eventhandler to trigger 'command', 'result' and 'error' events - refs #137

- implemented EventHandler singleton object to handle events within webdriverjs
- refactored bunch of code and made advantages of new event handling mechanism
- exposed 'on' and 'emit' functions for user
implemented 'end' event emitter - refs #137
emit event on session initialization - refs #137
added tests for implemented events (init,end,error,command) - refs #137
dont kill process if no connection could be established - better handling of unavailable clients - refs #137 #162
dont log something is case logLevel is undefined - refs #137
improved eventhandling
- each instance gets its own event handler
- expose more EventEmitter functions (automatically)
- expose EventEmitter functions to be able to get executed within the queue
- code refactoring -> no static logger object anymore
added comments to explain implementation
Merge pull request #137 from christian-bromann/issue/137

event handling in WebdriverJS