Fix issue #579 - support for DAISY pipeline books

This PR includes some major changes of the internals. All this is described in the commit message of 790af14:

    This commit introduces some major changes to the internal class
    strucures. These changes include:
     - Merging the former Playlist class into both the Player and the Book
     - Refactor the SMILDocument so that it is decoupled from the Section
     - Section searching/traversing is now located in the Book
     - NCC sections that link to the same SMIL file now work, by also
       sending the proper fragment
     - Since sections are actually "bookmarks" and not container elements
       for segments, it's no longer directly possible to access a section
       from a segment, without calling a utility method on the Book
    
    In general we're trying to seperate responsibilities, so that the Book
    has no clue as to were the Player currently is and is only used as a
    data model.

The most "breaking" change is that it's no longer possible to do a `segment.section`, since these two structures doesn't really reflect a "parent-child" relationship. You can still get the "containing"/last section by the utility method

```coffeescript
book.getSectionBySegment segment
```

Because of crazy commit-mess I've reset and committed it as one big commit. A lot of the `git blame` should however have gone to @LDHGithub