fix layout for undeveloped goal
add Viewport#PageX/YFromGX/Y method