CSG API

This begins a sane API to CSG operations.

Present here is `bsp_node_t* bsp_intersect(bsp_node_t*, bsp_node_t*)` which replaces the original code in `main()` 

It also includes `clone_bsp_tree()` and a test for it.

### TODO 

 * [x] `bsp_union()` 
 * [x] `bsp_subtract()`
 * [x] `bsp_intersect()`