Implemeneted retrieval of the number of system devices.
Implemented Application (+ Impl) that must be created as the first
thing. The Impl will get the default device (in non-static context)
make it available in static context. Some ObjC code can't be run from
static C++ context without failing.
Finally fixed so that the system devices can be retrieved from a static context.