Fixed it!
Seems I had a corrupted install of pixman and/or cairo on OSX (dependencies of node-canvas), probably because I tried to install them via homebrew.
The solution was to get rid of them from homebrew using:
brew uninstall cairo
brew uninstall pixman
...then run:
brew doctor
..to check for any broken symlinks etc. related to cairo and pixman. Then you have to manually delete any cairo & pixman bins/libs/symlinks etc. using Finder.
Next, follow the install instructions for node-canvas to reinstall cairo and pixman on OSX.
Finally, you'll probably need to reinstall node-canvas via npm, so navigate to your 'node_modules' folder and delete the 'canvas' dir. Then run:
npm install canvas