1. A method, implemented by a computer system that includes one or more processors and a display device, the method comprising: receiving data at one or more application programming interfaces (APIs) from a plurality of applications including at least a first application executing in a first thread and a second application executing in a second thread, the data including one or more first visual elements received from the first application and to be rendered for the first application and one or more second visual elements received from the second application and to be rendered for the second application, wherein the one or more first visual elements correspond to a digitally-protected video to be rendered for the first application; configuring the data for display on the display device through execution of a dedicated third thread that executes independent of and asynchronously with the first thread and the second thread, and that composes the data for the first application and the second application into displayable pixels using a single composition engine, the single composition engine composing the one or more first visual elements into protected memory that is inaccessible to at least the first thread and the second thread, to prevent the first and second applications from accessing any displayable pixels corresponding to the one or more first visual elements that are composed by the single composition engine; and returning timing information usable by the plurality of applications to synchronize rasterization of bitmaps with one or more animations configured by the dedicated third thread.