Conditionally setting owner for settings GUI
|Major| improvements

* Removing old/unused functions.
* Using Fnt library for Str_MeasureText
* Creating new, much improved, Str_Wrap
|Major| improvements

* Utilizing Str library to properly create and navigate flyout. It also
takes into account automatic word wrapping in m_vFlyoutText!
* Setting iMaxRows default to 10. Create fails if it iMaxRows is 0
* Removing SetMemVar_* functions and simply using LoadDefaultSettings
like the __Get meta-function (I probably should implement that, too)
* Changing GetWidthAndHeight to utilize Str_Wrap function. Function has
been majorly simplified
* Changing CalcBorderSelectionRect to utilize Str_MeasureTextWrap -- a
measure that wraps a string if it is too long.
* Changing MoveBorderSel to utilize Str_Wrap so it dynamically shrinks
or expands based on the GetCurSel()
* Adding Click(iMouseY) which can be used to click the border selection
onto text -- very cool!
* Major cleanup
Mainly implementing new CFlyout features

* Adding FlyoutMenuHandler_WatchForClicks. This enables users to click
(on the topmost flyout, only) their selection like a standard,
windows-style menu
* Adding global dict g_avMapHotkeysToLabels to help with user-entries
(clicks, hotkeys)
* Adding parameter iMenuNum to CreateFlyoutMenu to help with
initializing g_avMapHotkeysToLabels
* Adding FlyoutMenuHandler_MoveDown, FlyoutMenuHandler_MoveUp, and
FlyoutMenuHandler_SubmitSelected. All for use through hotkeys or
clicking.
* Cleanup