Lightweight CSS dropdown menu: no fixed widths, unlimited levels