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)