Workaround for SDCC bug.

A function pointer for a function defined in another compilation unit is
wrongly considered non-const. Set it at runtime to avoid the issue.
Stop using unneeded custom tools.

Linker scripts can easily be generated with some standard tools in the
makefile, so just use that.
Match new name for method.
Fix icon declarations.

They can't be both extern and static...