Major refactoring & bugfixes.

Still to be fixed:
- Inverse properties (without domain) are ignored
- Range restrictions (hasX some y, where y is something else than range(hasX)) are not displayed.
- Compopound datatypes (e.g. (Euro or US-Dollar)) are ignored