Dynamic current GPS location update support

Earlier, last best known location (either by GPS or network) was used to
determine source location.
Now added custom location listener which receives updates from the
application location service and updates the source location on map as
soon as there is change in location.

Also, Start GPS tracking only when MAPS are on focus and disable GPS
activity when map activity loses focus i.e. some other activity over
rides the Map activity.
(See MyLocationListener for custom location listener)