Add Linux support

partially resolves issue #1.

Only tested on Ubuntu 12.04, needs testing on Mac OS X to ensure it didn't break, but most probably would work for desktop uses on most Linux Distributions (not tested).