Code refactor and new functionalities

* New JS callback based interface (inspired by HTML5 geolocation API)
* Possibility to watch/unwatch for changes
* Forced wifi scan refresh