Refactor Overlay, HTTP::Server for universal port

These refactorings are required to support the universal port.
Reviewers: @miguelportilla, @scottschurr

Ignore the top 3 (eefc5d9..0ebc9ee) they are from another pull request.
I use `char` just so I can do byte offsetting. `unsigned char` would also work but it would be longer.