Add support for spy objects

This PR adds support for `@IMPLEMENTS` (cause it is required for the Dart version of spies to work). At some point AtScript will get support for interfaces. Once it happens, we should replace 

```
@IMPLEMENTS(Interface)
class MyClass {}
```

with

```
class MyClass implements Interface {}
```

I think that is already part of `rtts_assert`: use a static `assert` method...