Bunch of adjustments

- Render in a seperate thread
- Use time.time instead of datetime
- Only fetch after rendering complete