use std::string in nmea sentence parsing

This greatly reduces idle cpu (and therefore powerconsumption) noticed mostly
 on slow cpu's like raspberry pi, because unicode conversions per character are no longer performed
fix issues detecting serial ports, this fixes issue which used to crash on raspberry pi
remove unused file
logic improvements and remove duplicated glenable  and unused code
optimize light sectors: remove duplicated initial point, and use float since double is not needed here
split rendering of overlay objects for opengl optimizing ownship rendering
correct rotated coordinate calculation, and optimize grid draw for opengl allowing rotated viewports
fix crash at certain rotation angles for journeyman style
scale bar rendering for rotated viewports
use a textures to render emboss indicators
Revert "Merge branch 'optimum-merging' into optimum"

This reverts commit e7605967e946bb0e5bef4f23f941560687a6250d, reversing
changes made to e4fa9bf11735d608929ab9e53712260eccf3747c.
refactor anchor watchpoint render for future optimizations
allow hiding the compass window as a user interface option (slow systems benefit from less overlaid windows)
defer loading plugins which are not enabled until setup window is opened

This greatly improves startup speed on slower computers which have many
plugins installed but not enabled because the dlopen call can take a long time
misc vector rendering optimizations
Merge branch 'optimum-merging' into optimum

Conflicts:
	include/glChartCanvas.h
	src/chart1.cpp
	src/chcanv.cpp
	src/glChartCanvas.cpp
	src/navutil.cpp
	src/options.cpp
	src/s57chart.cpp