• First pass of refactoring, batch improvements and api updates.

    There's still some work to be done, but this contains the majority of the changes.
    
    It's also likely to be a bit slower in some cases, but these should be easy to fix up.
    
    * Introduce a webrender_traits crate to reduce build times (only servo and compositor depend on the webrender crate now).
    * Support StackingContexts within Display Lists.
    * Proper paint order for iframes.
    * Much simpler (and more efficient) parallel batch creation.
    * Split code into multiple source files - naming of various structs and files still needs to be tidied up.
    * Change AABB tree to store items by draw list.
    * Batch creation now builds a maximum of 1 VBO/VAO per AABB tree node.
    * Moved internal display items (composite, clear) out of the public interface to an internal enum.
    * Split into high level Scene struct and mid-level Frame representation.
    * Switched draw lists to be managed by a free list, to reduce hash lookups.
    * Support clipping for text elements.
    * AABB tree now stores items that cross boundaries in multiple leaf nodes, and never in internal nodes.
    gw3583 committed Nov 12, 2015