adds tests, jsx-preprocessor and travis.

From the commit msg:

```
This commit adds some tests, those that i was able to reason about by
seeing the example and a bit of the source code. It certainly have more
things to do (removing unecessary code and shaping it more in a
test-centered way, e.g), but it was not the scope of this commit.

Travis was added to provide a basic CI so that we are able to move
faster regarding new functionalities and refactor.

The jsx-preprocessor is needed as we use JSX in the tests.
```