Add support for relative icon paths

This change adds support for relative icons in KML files.

Note: because the parser functions are not members of the KML layer class, I had to find a way to pass state through the parser.  To do this I added a 'state' parameter that stores the information.  This could be done in other ways, just not sure what the preferred one is for this class.