Fixes Widget::GetMeasuredBounds().

This commit fixes the issue that `Widget::GetMeasuredBounds()` may not return the correct values when the widget's `parent_` property is not set to the "real" parent widget. This may happen if the inherited widget changes the property manually through `set_parent()`.

To fix this issue, a new `real_parent_` property is added to the `Widget` class and which value is controlled by both `AddChild()` and `RemoveFromParent()` methods. This new property guarantees that it always pointing to the real parent widget so we can calculate the measured bounds based on the true hierarchy.