PortalKit: refactor DynamicLoad, and add ViewManager