Stop using runtimeType to check objec type

Since Dart SDK version 1.4.0-dev.5.1, List.runtimeType.toString() changed from "List" to "JSArray" in dart compiled JavaScript which caused an unexpected behavior. According to dart team, https://code.google.com/p/dart/issues/detail?id=18644, runtimeType is not reliable, we shouldn't rely on runtimeType to check object type.

Changed to use is instead.