ControllerInterface: Get rid of SetHwnd(), introduce Reinitialize()

Initialize now just takes the handle directly. Reinitialize is added because it is much more straightforward in comparison to doing the Shutdown-Initialize process manually.