On some systems i18n_checktimelength may vary not only depending on the
locale but also on the current month. This patch introduces a cyclic
check that loops through all of the months to find out which one has the
longest name.
However, since this function is called on every pannel reload and now
makes 24 calls to str_term_width1 and strftime it makes sense to
introduce a cache for the resulting value.
Thanks to Sergey Fionov <fionov@gmail.com> for the initial patch.
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>