Use roundf() as suggested by Axel
Don't resize to preferred height if fixed size, BeOS didn't
Refactor _BMCMenuBar_::Draw a bit

Move the comments around, expand on them and an 80 char fix.
Move constants to BMCPrivate.h and refactor

We use these constants in both MenuField.cpp and BMCPrivate.cpp

Incorporate kMarginWidth into kPopUpIndicatorWidth.

A small code simplication in FrameResized() along with replacing bare numbers
with magic constants.
Resize menu field if below minimum width in auto-size mode

... cancelling the normal item truncation behavior.
This funcationality comes from BeOS R5, we need to reproduce it for
backwards compat. KeymapSwitcher depends on it at least.

Minimum width is 20px, was set in last commit, comes from BeOS R5.
if menu _BMCMenuBar_ subtract the popup indicator width

... when calculating the width of items in _ComputeLayout. This prevents
that menu field from growing on selection fixing #9796 and #2413.

Also a few style fixes.
Move kMinMenuBarWidth to MenuField.cpp
BMenuItem: Check MaxContentWidth for truncation
BMenuField: If fixed size always set max content width

When you resize, also set max content width.

Create a SetMaxContentWidth() method that includes the margins.
Backgrounds: Use layout workspaces menu field
File Panel: make room for icon in directory menu field
Chart: tweak menu field widths. Don't ResizeToPreferred()
Font Demo: Tweak layout of menu fields.

Need to add more height to the menu fields because we
no longer resize them automatically for fixed size mode
(for BeOS compat) and the text was shorter in BeOS.