Major refactoring, API change

- Created `client.scroll()` & `element.scrollTo()` which return `Deferreds` so you can easily chain functionality once the scrolling as completed
- Refactored `client.size()` to be `lazy loaded` & to utilize `documentElement` if available
- Updated `client.mobile()` & `client.tablet()`
- Removed `resize` listener on `window`
- Created `client.scrollPos()` for easy look up
- Created `math` subclass
- Created `math.bezier()`, `math.dist()`, & `math.sqr()`
- Decorating `math` on `Math` for sugar
- Refactored `utility.fib()` to use `array.fib()` by default and added an optional second parameter to trigger recursive behavior
- Moved some methods around internally
- Fixed `LICENSE`