refactor to make protocol parsing more generic in preparation to support other non-http protocols, make ui more MVC-oriented

add functionality to replay http requests