separate renderer library
run graphics things on a separate thread