Add support for class member variable

supersedes #1417
Like you said. This is problematic if we have:

```js
... = class {
  static c: number
}
```