Major refactoring

- Optimized closure to not rely on `abaaso` namespace where possible
- Created `state` to abstract application state more efficiently
- Curried `array.cast()`, `array.keys()`, `utility.property()` & `utility.iterate()`
- Upgraded build dependency to gruntjs 0.4.0
- Generating a source map (not that useful due to closure it seems)
- Fixing `client.version` by allowing floats and parsing Chrome's & Opera's version properly