Setting alignment on non-fixed component.

Size of a component is calculated based on requested size and actual size if it is not fixed.

Close #999.
In general, though, the problem occurs with any component that can expand arbitrarily to occupy more space (which is the implementation in the base `Component` class). It would make more sense to test it there.