Adds Neopixel Support

I'd like to add Neopixel support to the official firmware build instead of maintaining a separate copy. This would be temporary until we add support for binary addons.

I thought about merging it into the existing pwm API but I couldn't think of an elegant way to do it without having to add another function where the user specifies the duty cycle of a 1 and the duty cycle of a 0.

@tcr mentioned that perhaps we should roll this into a more general purpose signal library but I'm not sure what the sort of API would look like.

Thoughts?
please pull this out in a separate test.