Fix applying KML styles to placemarks

This changeset addresses two issues:
- Apply KML styles carefully to placemarks depending on geometry type.
- Fix parsing coordinate tuples.

The KMLDataSource module has also been refactored to separate sub-modules.