Feature/triangle primitives

Added functions for drawing new primitives: triangles. I think it will be nice to have such simple primitive in bacon api. I needed it to draw some shadow maps.

C++ code changes need your carefull review because I'm not familiar with whole codebase yet and there are no guidelines for contributors. I will leave a notes in diff parts where I'm not sure if my changes are correct.

Code was builded/tested only on Mac OS X because my windows environment is FUBAR.

BTW: it was quite hard to figure out how to get this lib working for development. If you have an easy workflow for fast development that doesn't require building for both environments or overriding `build.py` script behaviour it would be nice if you share it somewhere in docs.


Pattern below repeats in many places. For me it's a code duplication but I have decided that it would be safer to follow this practice. Is there a rationale for such code duplication? If not - can it be simplified in future?