remove radio-button handling from checkbox.
add auto-positioning which respects padding and borders.
refactor position and new padding code.
add log method to program object.