Every class has a job. Overlay is to show an overlay not to hook windows functions.
Hook_Manager's job is to manage hooks and should not contain a reference to the overlay. (It should not contains any reference to directX or OpenGL either but I'll see that later... Maybe)
This makes the overlay code much cleaner and "could" be used in Linux as well.
Don't show "Invite" button if current user doesn't have a lobby.
Don't show "Join" button if friend doesn't have a lobby.
Added a button to open chat with a right click.
Close the popup when you click a button.