refactor & add muchos tests

This PR introduces some breaking but worthwhile changes.

- The markup to initialize the directive has been simplified to
```
<div gridster="items"></div>
```

- $interval is used to throttle the resize/drag events. A new option has been added called "updateInterval" that allows you to tweak the update frequency to your liking.

- added new method "walkGrid" that walks the grid and executes a callback fn on each item.

- mobile mode has improved significantly. It now removes dragging/resizing functionality when in mobile mode because it seriously complicates things and I don't think it makes sense. I think we should just try to render the items in a responsive way so they can be viewed and leave the interactivity to desktop mode. The grid height is now also updated properly.

- ~90% code coverage!

- fixed a few edge cases in getItems

- getItem method is now just responsible for getting a specific coordinate from the grid

- parameters provided to the "putItem" are now cleaned via the "resolveParam" method. It ensures numbers are not negative, converts strings to numbers, and resolves default values.

- update readme