CBFrame path filtering

CBFrames now have a filtered version of their path as property. It
gets set/updated when ever they are inserted into a model. Filtering
includes removal of bracketed characters and the root path of the
model.
CBComicModel frame sorting

Sort the frames after all have been added. Sorting uses the filtered
paths to consistently sort even if files are decorated with non-relevant
text. To be able to react to reordering, the CBComicView now observes
the frames property directly instead of observing frame count.
Default Layout mode

Set the default layout mode to right-to-left. This should later be
user configurable.
Exit/Enter blocks

CBRangeBuffer now has exit/enter blocks instead of passing the blocks
when shifting explicitly. Exit blocks are called on all objects that
will leave the range, enter blocks on all that will enter the range.
This new functionality is used to hide pages from the scene immediately
and then show them with an animation.
The layout code is now explicitly triggered which gives more control
and allows animating layout changes and performing most page operations
outside the main thread.
CBRange post blocks

CBRange now also calls post blocks after exit, shift and enter. Those
can be used to perform one operation after either of those operations
was called. The post blocks are called even if no enter/exit block was
run (because none was set for example).
Blocks are no longer run when adding or replacing objects.
CBRangeBuffer private queue

Create a private concurrent queue. This allows using barriers (which
don't work on the public queues) and increases concurrency between buffers.
CBComicView Layer Shifting

Use postShift and postEnter to update the layout. This allows adding
new page layers to the content layer instead of reusing them, which
prevents frames from zipping by, and potentially allows more exit
or enter animations.
CBComicLayout page padding

Add a vertical padding of 0.1 between pages. This should help seeing
where pages start and end.
CBPageLayer Shadows

Added shadows to the pages to make them stand out more. The shadow
direction is dependent on the layout mode, so that there is less
shadow on the next page.
CBComicLayout horizontal padding

Added horizontal padding support to the comic layout. The width of
the comic pages is now no longer 2.0 but 2.0 + padding. This required
some changes to the content layouting, which is now also explicitly
performed whenever the comic width might have changed.
Comic pages now have an explicit width instead of deriving it from
the anchor.