expose structuredClone and version in IFramePhone

version was there before but it required creating an
instance first. Now a simple Lab.IFramePhone.version works
refactor iframe-model type, no functional changes
add play and stop support to external model

currently this includes a copy parentMessageController from Lab