Playing with times. Off by a frame maybe?
Major cleanup of compositor

- Updated error code, add error checking
- Move lock responsibility to subcalls
- Scope old image code
- Add new method to deal with bytes directly
- Use correct readonly locks where appropriate
- Condense pixel attributes