• style: Derive more length stuff, and shrink MaxLength / MozLength's r…

    …epr(C) representation.
    
    This patch:
    
     * Makes LengthPercentageOrAuto generic, and removes a bunch of code fo
       LengthPercentageOrNone, which was used only for servo and now can use the
       normal MaxLength (with a cfg() guard for the ExtremumLength variant).
    
     * Shrinks MaxLength / MozLength's repr(C) reperesentation by reducing enum
       nesting. The shrinking is in preparation for using them from C++ too, though
       that'd be a different bug.
    
     * Moves NonNegative usage to the proper places so that stuff for them can be
       derived.
    
    I did this on top of bug 1523071 to prove both that it could be possible and
    that stuff wasn't too messy. It got a bit messy, but just because of a bug I
    had fixed in bindgen long time ago already, so this updates bindgen's patch
    version to grab a fix instead of ugly workarounds :)
    
    Differential Revision: https://phabricator.services.mozilla.com/D17762
    emilio committed Feb 10, 2019