add GRMapCanvas class

this class now is for vector features, will add functions for raster
layers soon.
Merge remote-tracking branch 'origin/feature' into feature