Implements the ScrollView widget.

This commit implmenets a new `ScrollView` class that mimics the `UIScrollView` class from iOS SDK. A new `Scroller` class is also created to mimic the `NSScroller` class from OS X SDK.

The animation effect for moving the content view is implmeneted by the concept of acceleration in physics. Also, the animation for horizontal and vertical directions are separated.

Because the `ScrollView` widget primarily mimics the behavior from iOS in this commit. It lacks some features that could be found on other platforms. For example, the scroller cannot be dragged like `NSScrollView` from OS X SDK.