Fix SetCustomFonts import

The module duplicates trml2pdf.py from openerp/report/render/rml2pdf/
but not customfonts.py. SetCustomFonts call depends on a global list
in core odoo customfonts module, so we actually have to import from
there, and not duplicate the code.
This fixes custom font setting to actually work, if the listing has
been populated in customfonts from elsewhere, instead of always
throwing an ignored exception.
Without this, reportlab own fontset seems to always be used only,
which has very low glyph coverage.
Populate system font registry before using it in PDF, fully fixing glyph coverage

In Odoo v8 the font population seems to have reworked a bit, so this adapts to it.

We now need to call font_scan on the company, which core reportlab support does
as well since v8. Without this, the system fonts aren't actually used, because
the listing in customfonts module isn't filled yet. If it is filled already,
then thanks to lazy=True, it isn't rescanned, as something has done it already.
If fonts are added to the system, manual font scanning can be called via
company form "Report Configuration" tab "(reload fonts)" link, which calls
font_scan with lazy=False.
This change ensures that fonts work properly when the first reportlab usage
is via this module, without having to manually scan them or trigger it from
elsewhere. wkhtmltopdf doesn't use this, so it's actually unlikely anything
else triggers it.

Ideally this module would be ported to QWeb/wkhtmltopdf as well, or at least
various other potential changes that have happened to the core trml2pdf.py and
other file copies brought over if appropriate.