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 manually.
Merge pull request #1278 from lioncash/controller

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