InfoLabels: initialise return value in timeToSecs to fix a python exception if an invalid/unexpected h:m:s array is passed

This was discovered when using the tuxbox functionality - when playing a stream, for some unknown reason the Player.Duration label doesn't return a h:m:s value anymore, but rather a string like "Length: 90 Minutes (11:45 - 13:15)", which initially gets split by the colons into four parts, which in turn isn't handled by the timeToSecs function (such a time representation would probably be invalid, anyway). This resulted in currentSecs being returned uninitialised, causing an exception.
fixed format usage for GetSystemTime() to ease transition to XBMC 13+
correctly set num of bigdigits based on display geometry and allow overrides, make bigdigit display prefer (h:)mm:ss on play but keep hh:mm if geometry
doesn't allow more
changelog
catch exceptions on decode.encode in Render()

while playing with shoutcast streams a (seemlingly) extremely rare occasion was caught where invalid(?) utf-8 slipped into a parsed label, causing a crash/exception.