Replaced SharedPtrT alias with actual std::shared_ptr. Switching to a different shared ptr impl was not possible anyway due to using make_shared.
Added Signal.Modify(func). Allows to safely modify a signal value by reference. Use case: Avoid re-allocation of value types like vectors.
Also removed pointless forwarding in InputManager (reactives are not moved anywhere).
Added tests for Signal.Modify