Fix typo (Vec3 -> Vec4).
Merge pull request #17 from notlion/fix-vec4-scaled

Fix typo in Vec4.scaled (Vec3 -> Vec4).
Fix small typo in exception string.
Rewrite internal MIDI handling to use a pipe.
Node has removed support for unix dgram sockets, as was previously used.  This
is replaced by a socket (stream), which is currently not properly implemented as
it should do its own framing to replace the previous datagram framing.  It works
enough for now.
Added measureTextBounds to SkPaint
Don't call ToString() before creating a Utf8Value.
The Utf8Value constructor takes a Value and will handle the conversion to a
string.  Additionally it better handles errors, for example when toString()
throws an exception.  This will create a 0 length Utf8Value with a NULL pointer,
which might still not be handled everywhere properly, but is better than the
exception happening during us calling ToString() ourselves.
Initialize the measureTextBounds rect.
This gives the correct results with measureText "fails", for example when we
pass NULL as the string to measure.  Previously this case returned uninitialized
values from the creation of the SkRect.
Added getFontMetrics to SkPaint
Font metrics example
Small changes to 105_fontMetrics.
- Don't explicitly set the type to 2d (allow it to default to 3d2d).
- Use setFontFamily and not setFontFamilyPostScript. (Arial).
- Add a copyright (Marcin Ignac).
Small cleanup to getFontMetrics.
Rename the properties to be all lower case.  I don't really know what Plask's
style should be but generally I don't follow camel case for property names.
Avoid any decision making and make them all lowercase which works here since
the names are fairly simple.
Additionally move the comments (taken from Skia) and follow 80 col lines.
Added getTextPath to SkPaint
Pass SkPath to getTextPath instead of returning a new one.
This allows the caller to reuse an SkPath (although this is probably not a huge
deal), and also makes the C++ code slightly nicer since it doesn't need to
set up the SkPathWrapper.  This also follows the C++ API more closely, although
I could go either way on it.  I prefer explicitly creating objects though so
that is the reason for this change.
Additionally remove the ->ToString() on the Utf8Value (see previous changes).
Allow overriding width/height in writeImage.
The default values stay as the window (frame) width/height, but now you can
override them in the options object.  This is useful if you have a different
sized framebuffer object bound, for example.
Implement WebGLFramebuffer wrapper object.
Remove the third_party portion of skia path in header includes.
Change the search path from src/ to src/third_party and remove the third_party
prefix from each header include.  No functional change, just clearer.
Add setFontFamilyPostScript for setting a SkPaint's font from a postscript name.
There are several ways of reference font names, setFontFamily works on the font
family name, but in some situations is not as specific as the postscript name.
Implement WebGLTexture wrapper object.
Additionally adds support for TEXTURE_BINDING* to getParameter().
Add TODO for remaining wrapper objects.
Implement WebGLRenderbuffer wrapper object.