Dotnet

1. Updated the test page to be able to take test payloads that are base64 encoded.
2. Extracted the encoding methods to a separate file and added JS Base64 encode/decoding to support IE.
3. Isolated the worker process in it's own JS file

The main reason for #1 is to allow me to put a base64 encoded test payload in a bug and let others reproduce the issue. (I have such a bug and would like to post it separately)

The main reason for #2 is to better support more browsers while keeping the components modular.

The main reason for #3 is to allow the worker process to both deflate and inflate, as well as making it more modular.