ScreenGui, Size and Position UDim2's; Deprecate ScreenPointToRay and WorldToScreenPoint

When the top bar was first introduced it caused certain issues with screen points and required certain extra methods to be implemented for world to screen conversion. Going forward, ROBLOX may decide to change the size of the top bar or perhaps one-day remove it altogether and the same issues could arise or developers may face issues with their present code. To circumvent this from happening I would like to propose that Size and Position are added to the ScreenGui class and that the ScreenPointToRay and WorldToScreenPoint methods of the Camera class are deprecated.

The default values for Size and Position would be set to compliment the top bar. (Size would be {1, 0, 1, -36} and Position {0, 0, 0, 36}). This means the absolute position of a ScreenGui by default should be (0, 36). Users would be able to edit both properties at their leisure, allowing full screen loading screens or blackouts and it would mean no changes would occur to GUIs that already exist.

ScreenPointToRay and WorldToScreenPoint would be deprecated in favor of ViewportPointToRay and WorldToViewportPoint respectively. They would also be changed to run the same internal code as the Viewport methods so that they still function correctly with the new GUI update.

As a bonus, any mouse events would no longer need Y + 36 (internally) and would therefore still function correctly.

All in all I think this would be a valuable change and certainly extremely useful for any changes that may occur to the CoreGui in the future.