GraphMultiEPG: resize event area when changing number of serivices per page

Based op awx patches. Thanks awx!

When the number of serviceslines per pages is changed the event area may need
a bit less space. This patch resize the list areas to avoid showing a part of
the next service line.
Picon renderer: allow to get picon names outside the Picon class

Move findIcon() from Picon class to global and add a getPiconName().
function.
This allow to get picon names without instantiation the renderer.
E.g.:
	from Components.Renderer.Picon import getPiconName
	pngname = getPiconName(serviceName)
GraphMultiEPG: add picon support

Based on patches by awx. Big thanks to him for figuring most of it out.

Skin options for the "list" widget:

	PiconSize: defines the area size for picons. If not given
		   a default size will be calculated
	ServiceBorderWidth: border thickness in pixels of the picon/servicename
	                    area. Default 1 (so picons will not glue together)
	ServiceNamePadding: defines empty space before and after a servicename
	                    within the servicename area. Default 0

New setup settings:

	show Picon: determines if picons are shown or not
	show service names: determines if service names should be shown

	Note: if picons are not shown or no icon exists,
	      the servicename will be shown!
filepush: Add timing printout (under define)
GraphMultiEPG: swap function of menu and blue keys

Blue key was setup menu, now it shows the goto dat/time screen
Menu key was show goto screen, now show the setup screen
Also define the yellow key as it seems to be added to the default skin already

To do this the keymap.xml has been changed so the menu_key maps to "menu"
instead of "input_date_time". The EpgSelection screen code has been updated
accordingly.
GraphMultiEPG: only lookup picons that are to be displayed

On startup the location of a picon used to be looked up for
all services in the bouquet. This can take some time.

Now we will be lazy when searching for picon file names. This
speedups the initial display of the EPG, but it may be a bit
slower when the next page of services is shown.
Picons are now looked for when they are to be shown, and the
location is cached.
As a side effect the initial service list isn't overloaded anymore.
Harddisk: Set journal_data_writeback option on ext3-ext4 convesion

This causes mount to use data=writeback instead of data=ordered.
Improves performance considerably, and since we're an embedded
device that runs everything as root, security is not our prime
interest.
UsageConfig: Add experimental 4MB demux buffer feature.

Use at your own risk.
GraphMultiEPG: only pass service list when service list changes

When the service list changes all picons will be rescanned.
So when the service list does not change call fillMultiEPG without
the service list
GraphMultiEPG; option to configure base time rounding

Start time of the event data can be configured to start at the
quarter, half hour or hour
GraphMutliEPG: move to current playing or first service in the bouquet list

On bouqeut change the current playing service might not be in it.
In that case go to the first service in the bouquet.
GraphMultiEPG: fix overjump setup handling

OverJump setting only did do a 'set'. So a restart was needed when
overjump was set to false.
GraphMultiEPG: skip passed events when moving to new service

Based on patched from awx.

- When going up and donw the epg list do not go to events
  that are already passed to find the best event.
- stop looking for best events when when a best event is
  found and the event startime is past our target time
GraphMultiEPG: add helpscreen
listbox movement: fix moving around when isSelectable() helper is activated.

Previous when isSelectable() is used wrapping around and stepping pages at
a time did not always work properly.
Wrapping does work when using cursor keys to step one item at a time.
Stepping pages at a time does not wrap (it did not do that anyway!)
GraphMultiEPG: added commands to go to start end of list and step pages at a time

Based on pataches by awx!

To easily go to the end or top of the service list:
	- press 8 to go to the top
	- press 0 to go to the last item
To step pages a a time:
	- press 7 to go to show the previous page of services
	- press 9 to go to show the next page of services
	These functions do not wrap arround. To do that use the up/down keys.
CableScan: remove closeRecursive
Remove DTS downmix on/off configuration

As the hardware that support DTS downmix does use one common setting
for this in their drivers, which is the same as the AC3 downmix
configuration
Revert "CableScan: remove closeRecursive"

This reverts commit 679579fa89d89c42a1684b068742987c12f4fea0.
remove duplicate ConfigListScreen init