Generic type variables

This pull request implements xp-framework/rfc#282 and adds generic type variables.

## Example

```php
#[@generic(self= 'T')]
class Unserializer extends \lang\Object {

  #[@generic(return= 'T')]
  public function newInstance($arg= null) {
    return null === $arg ? $T->default : $T->newInstance($arg);
  }
}
```

## TODO

* [x] Think about improving runtime performance by only adding static type variables to the methods if they're actually used (we're tokenizing the code anyway)