Primary ESCore implementation now in ESCoreBase.

ESCoreBase hides addComponent and addStaticComponent so that a class
must be derived from ESCoreBase in order to expose component addition.
This is to ensure addComponent is not called accidentally with the
incorrect ComponentContainer.