Remove futures

this accomplishes 2 things

 1. abandon future hell for most things
 2. utilize an actual `Shape` object which should make containerizing renderables easier