Explicitly set search paths for libraries build.

The libraries build is prepared to work with binaries not part of the current
working tree. But in this case the default search path surely points to some
other working tree. Even the binaries in this working tree might have been
compiled with non-standard builtin search paths.

Anyway when building the libraries we want always to use the headers from
the current working tree. Therefore we want to set them explicitly. Instead
of setting all in all five paths on the command lines of ca65, cc65 and ld65 I
opted to just set the single environment variable.
Added library reference em_libref to EMD interface.

Occasionally dynamically drivers suffer from not being to refer to
content in the C library. Therefore I added a mechanism to allow
a C library for a certian target to define a symbol that will be
handed over to dynamic drivers for that target. Then the drivers
can use their refernce to that symbol to access content in the C
library.
Added library reference joy_libref to JOY interface.
Added library reference mouse_libref to MOU interface.
Added library reference ser_libref to SER interface.
Added library reference tgi_libref to TGI interface.
Added library reference address to lightpen driver header.
Used a library-reference method to calibrate lightpen drivers.

The mouse reference is a pointer.  If it's NULL, the driver uses a default.  If it's non-NULL, then it points to a function that the driver can call.  That function will adjust the driver's calibration value.  It could ask the user to adjust the pen; or, it could read a file that holds a value from a previous calibration.

Application writers can choose how it's done: a function that's provided by the library, a custom function, or nothing.
Renamed the mouse sample program because it also tests the mouse library.
Merged testcode/lib/pen-test.c into the mousetest.c sample program.

A command-line option can force mousetest to be built with a statically linked
driver.