This will only manipulate the OS X-level process name, not the title shown in e.g. ps.
No longer based on Ragel, but hand-written. Had to add HTTPConnection.resetParser() because the parser is stricter and will error out when you try to give it a message after the previous had "Connection: close". The HTTP client was doing that. Thus we reset the parser manually after each new connection.