More native model refactoring:
- Inlined NativeComponent into ProjectNativeComponent
  - Removed NativeComponent altogether
  - Executable/Library now extend ProjectNativeComponent
  - PrebuiltLibrary is independent of ProjectNativeComponent
  - Remove utility interfaces joining Executable/Library to ProjectNativeComponent

This is effectively reverting earlier changes to the component hierarchy, by simply
renaming NativeComponent -> ProjectNativeComponent. This is now possible due to the
unlinking of LibraryBinary and PrebuiltLibrary from NativeComponent