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.
Do `this.width()` and `this.height()` not return the correct value for fixed-width components as well?