Feature/tool position initialization
Description
ToolPosition4 was returning a null reference exception sometimes in Unity games because it was getting called before the first observable callback was processed and therefore the state was undefined. This is a result of the new threading/buffering for observable handling. To reduce the delay in initializing the state, process the first observable message right away instead of buffering, then buffer all subsequent messages. This reduces occurrence of the null reference exception but does not eliminate it. To eliminate, then only use the state variable after it has been first defined.