support class variables (and remove ``dictproperty`` decorator

`keys()` has become inefficient now, but the code is a lot simpler and
we no longer need a special decorator, instead we can use the regular
`@property` decorator.