Add previous and next functions and wrapping to the ViewStack

If wrap is set to true, when the users call previous or next, the stack
will wrap. If we are showing element 0 and previous is called then we
show the last element. Inversely, if we are showing the last element
and next is called then we show the first element.
Add the ability to show only a portion of a bitmap.

This is useful if you are using sprite sheets for gui elements.
If a width and height are passed in then we crop the part of the bitmap
we are displaying. The xOffset and yOffset parameters shift the cropped
area.
This is overridden by any autoSize parameters.
Merge remote-tracking branch 'empika/master'
Thanks to empika: Bmp now can draw just part of image. ViewStack can cycle through pages