Class library componentization

The class library API can be split-up into groups of packages that form 'functional units'. Each of these functional units (components) has predominently public API dependencies between them. Of course, there will be a number of implementation packages required too to support the pulic APIs. There is a 'special' set of KERNEL classes that are VM-specific. The others are common across VM implementation by using Java, JNI, and native OS calls directly.