Tokens transformators

Proof of concept about transforming tokens (resolve #531).

- [X] add mechanism for support tokens transformation
- [X] add `T_ARRAY_TYPEHINT` for `T_ARRAY` used as typehint (fix #542)

If merged then I create a Transformators for :
* create `T_CURLY_CLOSE` for `T_CURLY_OPEN`
* create `T_DOLLAR_CLOSE_CURLY_BRACES` for `T_DOLLAR_OPEN_CURLY_BRACES`
* create tokens for braces in syntax: `$this->{$foo}`
Maybe we should named it `CT_ARRAY_TYPEHINT`, CT for Custom Token - what do you think?