Shadowhull

For your review, intrepid C++ master.
Don't approve this. I merged some bad code before submitting it.