Fix bug where component would not get added to runtime

There was not a test to check whether a component would be correctly added if it was done during runtime
Added a test and fixed the addition
Fix bug, where components and scenelements would not correctly react to an expired runtime

In some stages of the addition process a runtime could expire but the runtime dependent functionality
would still get executed, this adds more checks for expired runtime weak_ptr and adds an appropriate
unit test
Fix documentation