Display library documentation

Some comments about this change:

* I've moved some methods and properties around, basically putting the setter next to the corresponding getter accessors. The reason is that the [Guidelines for Dart Doc Comments](https://www.dartlang.org/articles/doc-comment-guidelines/#variables-getters-and-setters) state that if there is both a getter and setter, we should comment only the getter. So I think it is a good idea, while the setter does not have documentation that it is at least close to the getter having the documentation.
* I've tried to avoid lines longer than 80 characters.
* I've included quite a few TODOs to indicate comments that I'm not so sure about or where I didn't have any idea what comment to put there. You should have a closer look at those.
* I don't quite understand how the transformation matrix works, so I couldn't put reasonable comments on those methods.
This is effectively the same as the visible property. Unfortunately we had to add this second property for compatibility with the Toolkit for Dart. Maybe we should say it very clear: Do not use this property and visible instead. Technically you can set visible to false AND/OR off to true to make the display object disappear.