[Extensions] Add support for persistent callback listener

This is going to be the base of the EventTarget implementation. It is
important to remove the listener at some point otherwise the object will
leak.
[Extensions] Add browsertests for the persistent callback listener

The test implements a heartbeat which works in a similar way of an EventTarget.
The callback is set only one and gets called multiple times.
[Extensions] Remove development debug statements

These debugging statements were useful during development, but now
as we are feeling confident that everything should be working, they
can be removed.
Merge pull request #1039 from vcgomes/remove-development-debugs

[Extensions] Remove development debug statements
Merge pull request #1038 from tmpsantos/persistent_callback

[Extensions] Support for persistent callback
[SysApps] Add the convenience classes and prototypes

These C++ classes and JavaScript prototypes are helpers for the common
places that appear all around the SysApps APIs specifications.

The main features are:

- Helpers for creating objects managed by the extension.
- Easy way of declaring API methods.
- EventTarget implementation, and thus, helpers for dealing with
  events.

For more information, check the documentation on the code.
[SysApps] Make the common API availiable as a module

Make it available to be accessed via requireModule(). It is going
to be used by the SysApps APIs like Raw Socket.
[SysApps] Add unit tests for the convinience classes
[SysApps] Add browser tests for the common JavaScript API

These tests are testing the functionality of the helper JavaScript
prototypes and objects, like the EventTarget.
[SysApps] Add Raw Sockets stub

Just the skeleton to serve as base for the interfaces implementation. No API is
currently exposed.
[SysApps] Add the TCPSocket implementation

This is the initial implementation of the W3C's Raw Sockets TCPSocket interface.
It is not complete but is fully functional. Some issues with the spec are being
worked with the standardization body, like the fact that the send() method is
technically sync (although we implement as async always returning true).

A notable missing feature is the throwing of exceptions on invalid parameters,
but the error callback is still called under these circumstances.

We also add the RawSocketObject class. This class is going to concentrate all
the shared code among the different interfaces of the Raw Socket API. Currently only
the ReadyState is shared.
[SysApps] Make it possible to create a TCPSocket from a connected socket

The TCPServerSocket will need to create a TCPSocket from incoming connections.
This patch makes it possible to create an object in the native side first and
handle the identifier to the JavaScript context.
[SysApps] Add TCPServerSocket implementation

Added an incomplete but functional implementation of the
Raw Sockets TCPServerSocket interface.
[SysApps] Add browser tests for the Raw Socket JavaScript API

Tests if the objects are leaky and if the basic functionality like
send and receive data works. These tests are not API conformance tests.