Externalized buffer allocation to applications

- buffers used to read NMEA sentences have been externalized to
application, thus allowing for extra sentence processing (e.g. 
logging to an SD card). An application using GPS2D objects should
declare a buffer of at least MAX_NMEA_SENTENCE_LENGTH bytes.
An application using GPS3D objects should declare two buffers of at
least MAX_NMEA_SENTENCE_LENGTH bytes (one for RMC, the other for GGA).
If no extra sentence processing is needed, only one buffer should be
declared and passed twice to readPositioningDatachar *, char*) to limit
memory usage
- GPS is no longer an abstract class, and can be used as a generic NMEA
sentence reader, via public readNMEA(char*) function
- some comments have been fix in API functions
- example application code have been changed according to this
refactoring