Better requested space

From commit notes:

    [refactor] Components now return desired width/height directly, rather than
    the minimum of desired width/height and offered width/height. Table now allocates
    the minimum of desired/offered height appropriately.

    This results in simpler component layout code, and lays the groundwork for simplifying the
    requestedSpace interface from 4 fields to 2
---
    [refactor] Reimplement`Component._isFixedWidth` (& height) using flags not trickery

    Close #484 
Closes #484