Add support for class member variable

supersedes #1417
Actually, shouldn't this have a return type?

```js
get name() : Type { return this.ident; }
```