Cleaned up some of the overlay code

And hopefully fixed E2's overlay erroring by making the engine send the
convars to the client

Fixes #614
New better BeingLookedAt func for all wire ents

This function determines when the overlay will appear. I made one that's
better than garry's default one.

Also got rid of this weird base_gmodentity constant and used
self.BaseClass instead
Fixing E2 overlay

Fixing E2 overlay for real this time
More overlay code cleanups

Fixed wire entities with no overlay text (aka set to nil) causing
errors.

More overlay code cleanups.

Fixed text alignment on the E2 overlay (it looked fine on my computer,
but it was slightly off on other servers - switched from using fixed
values to surface.GetTextSize, should look the same on all servers now)
Merge remote-tracking branch 'upstream/master'