Merge branch 'FLUID-4908'

* FLUID-4908: (29 commits)
  FLUID-4908: Fixed the failing FullPreviewUIOptions-test.html to replace the use of the setTimeout in wait of toc rendering with registering the listener to a proper afterRender event.
  FLUID-4908: Updated modelRelay component to use fireSourcedChange() to avoid circularity.
  FLUID-4908: Fixed the modelRelay unit tests.
  FLUID-4908: Get rid of invokers from modelRelay component due to the late binding of invokers.
  FLUID-4908: Inject uiEnhancer defaultActions as a dynamic grade at uiEnhancer instantiation as well as completing the unit tests and updating UIO dependencies json file.
  FLUID-4908: Improved modelRelay component to make sure the source applier points to the same external applier.
  FLUID-4908: Fixed the unit tests.
  FLUID-4908: Moved the shared facilities required by all UIEnhancer users into the empty UIEnhancer component, as well as improving modelRelay component.
  FLUID-4908: Fixed the issue that the changes on text size and line spacing are not applied to iframe content since these initial css values are not detectable when the iframe is hidden.
  FLUID-4908: Removed sourceModel from component options since it can be retrieved from the source change applier.
  FLUID-4908: Fixed UIEnhancer unit test.
  FLUID-4908: Improved the modelRelay component to use change applier guard to prevent the recursive calls rather than doing it manually.
  FLUID-4908: Fixed the issue with late model update on table of content enactor that causes the preview iframe in the full preview demo doesn't show table of content if the toc setting was previously turned on.
  FLUID-4908: Make UIEnhancer an empty component that the default enactors and inputs are filled in as grade components. Also improved modelRelay component to allow the mutual reactions between the external model and ants' internal model.
  FLUID-4908: Fixed IE8 error of "Object doesn't support this property or method".
  FLUID-4908: Completed refactoring UIEnhancer with enactors as well as fixing all the unit tests and demos due to the new UIEnhancer structures.
  FLUID-4908: Added modelRelay component to bind ants' private model and change applier with UIO global ones.
  FLUID-4908: In the process of refactoring UIEnhancer with enactors, which are also being improved during this real world implementation.
  FLUID-4908: Added tableOfContentsEnactor.
  FLUID-4908: Refactored enactors to apply to the new framework standards.
  ...
FLUID-4908: Correcting file permissions for new files
Merge branch 'master' into FLUID-4927