Internalize a bunch of exposed classes.

These classes are not meant to be part of the public API. With this change, it is still possible,
through a bit of backbending, for an external library user to play with these bits and extend them,
but they will not show up in the public API docs.

It turns out that you can't apply a user-created namespace to an entire class (only to methods and
member variables), so this had to be done with internal instead.
Fix doc comments.
Make these three public again.

There is a method on LibrarlyLoader to set the CreatorFactory, which in turn exposes ImageCreator
and MovieCreator.  Either that method on LibraryLoader should be made internal, or these three
should be public again, which is the side I'm erring on here. I could go either way though.
Merge pull request #71 from roguenet/internalize-dirty-bits

Internalize dirty bits