Changed library type from SHARED to MODULE to avoid generating .dylib in OS X

.dylib files are not supposed to be loaded at runtime ( http://fink.thetis.ig42.org/doc/porting/porting.en.html#shared.lib-and-mod )
Fixed a possible NULL pointer dereference
Fixed some warnings
Added some checks on reading
Edited README.md updating information about OSX support
Added singleton to pass pointers from plugin to device class in safe way.
This class handle more robots searching them by name, so if different devices use the same robot model, probably a single plugin for each type can be
instantiated saving some memory... this has to be verified.
BugFix: Automatic compilations was complainig about a string.
Added singleton to pass pointers from plugin to device class in safe way.
This class handle more robots searching them by name, so if different devices use the same robot model, probably a single plugin for each type can be
instantiated saving some memory... this has to be verified.
BugFix: Automatic compilations was complainig about a string.