Here is a very basic script that could help, the rectangle is draggable, resizable and stays on top of other windows. Esc is the key to close the script when the rectangle is selected (an Accelerator key has been used, which is better than a HotKey in this kind of script) :
#include <GuiconstantsEx.au3>
#include <WindowsConstants.au3>
Local $hGUI = GUICreate("", 100, 100, -1, -1, BitOr($WS_POPUP, $WS_SIZEBOX), $WS_EX_TOPMOST)
GUISetBkColor(0x000000)
Local $iLabel = GUICtrlCreateLabel("", 0, 0, 100, 100, -1, $GUI_WS_EX_PARENTDRAG)
Local $idDummy_Esc = GUICtrlCreateDummy()
Local $aAccelKeys[1][2] = [["{ESC}", $idDummy_Esc]]
GUISetAccelerators($aAccelKeys)
GUISetState()
While 1
Switch GUIGetMsg()
Case $idDummy_Esc
GUIDelete()
Exit
EndSwitch
WEnd
Though the script doesn't cover all OP's requirements [ "hide and show it back with some hotkey as (for example) Ctrl+Alt+B ] I thought it could be useful for some users.
Good luck