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.
Offline discussion:

`width()` and `height()` should not be used here, because the values they return are not defined until `_computeLayout()` finishes executing.

Non-fixed-width `Component`s should not behave differently with different `xOffset` values, because they should be taking up all the width anyway. Same goes for non-fixed-height `Component`s and `yOffset`.