Merge pull request #19 from zachconrad/master

StringDecoder has been removed and replaced by Utf8Decoder
diff --git a/lib/src/command_processor.dart b/lib/src/command_processor.dart
index 422ebbf..97f42f8 100644
--- a/lib/src/command_processor.dart
+++ b/lib/src/command_processor.dart
@@ -63,7 +63,7 @@
         }
         return req.close();
       }).then((HttpClientResponse rsp) {
-        return rsp.transform(new StringDecoder())
+        return rsp.transform(new Utf8Decoder())
             .fold(new StringBuffer(), (buffer, data) => buffer..write(data))
             .then((StringBuffer buffer) {
               // For some reason we get a bunch of NULs on the end
diff --git a/lib/src/web_driver.dart b/lib/src/web_driver.dart
index cb68342..8cb9b76 100644
--- a/lib/src/web_driver.dart
+++ b/lib/src/web_driver.dart
@@ -31,7 +31,7 @@
         return Uri.parse(rsp.headers.value(HttpHeaders.LOCATION));
       }
 
-      return rsp.transform(new StringDecoder())
+      return rsp.transform(new Utf8Decoder())
           .fold(new StringBuffer(), (buffer, data) => buffer..write(data))
           .then((StringBuffer buffer) {
             // Strip NULs that WebDriver seems to include in some responses.
diff --git a/lib/webdriver.dart b/lib/webdriver.dart
index 889f64a..bc41a70 100644
--- a/lib/webdriver.dart
+++ b/lib/webdriver.dart
@@ -5,6 +5,7 @@
 library webdriver;
 
 import 'dart:async';
+import 'dart:convert';
 import 'dart:io';
 import 'dart:json' as json;
 import 'dart:utf' as utf;