Completely rewrite the GeoJSON runner plugin for RFC7946 compliance.

Authored by zaitseff on Sep 2 2019, 1:48 PM.

Description

Completely rewrite the GeoJSON runner plugin for RFC7946 compliance.

In particular, the plugin now handles GeoJSON files that do not contain
a FeatureCollection top-level object. It also correctly handles
GeometryCollection objects that can nest other GeoJSON geometry objects
arbitrarily deep, by using a recursive parser. Furthermore, altitude
values are now imported along with longitude and latitude.

Properties on Feature objects are now handled in such a way that
extending these to cover styles is made easier.

Differential Revision: https://phabricator.kde.org/D23527