Refactoring tokenizer to turn PHP_CodeSniffer more testable

I've created a parent "Tokenizer" class which PHP, CSS and JS classes extends.

I think that by doing that we can easily unit test this core classes. (also it simplifies File.php)

This pull_request **it's not** totally finished yet but I wanted to know what do you think before I go forward with this.

Thanks,