Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>