Transition panel: now using infinite translations to avoid flickering

The transition panel does not reset the viewport position anymore
after transition to avoid flickering effects on some devices.

The panel now also triggers a "transition:end" event when the
transition is over. Only one transition may run at a given time.
CardPanel: first child displayed by default

The view displayed all children one after the other. It now picks up
the first child by default when it gets rendered for the first time.
Transition panel: "transition:end" event renamed "transitionEnd"

The commit also exposes the "positionSlides" function that positions
the target slide next to the original one and hides all other views
in preparation for a slide transition. This will be useful for the
"SlidePanel" derived class.
SlidePanel: re-written to add native support for swipe interactions

The SlidePanel view now extends TransitionPanel, restricting
supported transitions to slides. It also supports swiping among
views in any direction.

The position of the children views is dynamic. The view calls the
"getTargetChild" function when it starts a swipe in a direction to
retrieve the name of the child view that it should position and
transition to. That function should typically passed to the view
when it is created, or be overwritten in derived classes.

On top of the "getTargetChild" function, two parameters can be set
when the view is created:

- "swipeThreshold": the minimal horizontal/vertical distance that the
user finger must move before the view decides to start a swipe in the
requested direction. In pixels. 5 by default.

- "swipeChangeThreshold": the minimal distance that the user finger
must have moved at the end of the swipe for the view to consider that
it should transition to the target child. In percent (of the width or
height, depending on the direction). 30 by default.

Beware: as with TransitionPanel, the view now creates two div levels
instead of just one as before, one flagged "joshfire-outer" and the
other flagged "joshfire-inner".