Abstraction of the Chart rendering API

The pull request with all changes of GSoC so far (last 1-2 months). The Diagrams backend is still work in progress, but everything else should work asexpected.

You should take a look at the commits from 22nd of July. I made the changes we talked about, but also did some other stuff:
- `AlignmentFns` are now actually used as part of the API. I think this is way more useful then letting each backend provide another copy of the standard alignments. (836af3f6563115c2a1d73ea98e12a66764e808d4 / bd0a89ab44449f124447c9aaeb9a7da5ae941c52)
- I updated the documentation for everything I touched. The behaviour of paths is now documented extensive. (d1185e9721b3a837194e4483c70f8ca47dfc5b6b)
- Updated the test package. (97d299012931e8de966049197ad3a6be5ecd5430 / f262a7d7c2a4f2c609620cde03d5bd3e087ae8db / 47ae7624b7268961cbba63e6c4de265a9040e4b8)
- Switched the dependency from data-default to data-default-class. There are two reasons for this: First diagrams also made this switch and second this reduces the list of dependencies pulled in by data-default.