UI: Optimize updates to MythUIButtonList when an item's state changes

This patch checks if a MythUIButtonListItem is visible and only calls
the parent's Update() if it is visible thus speeding up the update
and also reduces flicker when updating buttonlists with a large number of
items.

Based on a patch by Lawrence Rust.