For discussion: Explore an API using StateVar

What do people think about using `StateVar` to model either settable properties, or get/set properties? My proposal is that we would use `StateVar` and `SettableStateVar`. I don't suggest we use `GettableStateVar`, as - like in `lens` - getters aren't really a useful abstraction.

Thoughts?

As @ekmett is fond of saying - I really do like how this reduces the surface area of the API. This leads to easier to read documentation, as there's simply less to navigate. It also forces us into some form of consistency.