refactored some HttpListener-related stuff...

...into extension methods on HttpListenerContext
fixed ExecuteWithCallback to work regardless of compile result
added open file dialog
added GTK project!