iap: Start work on high-level IAP framework.

This code runs, but hasn't been tested yet.
Fix link to keytool.
iap: Bugfixes.
iap: Separate product names and identifiers.

Each product has a name, used to identify it. This name may be
different from the names used in the various app stores, which can be
specified independently.
iap: Add missing import.
sl2: More work to distingush local const from global const.
sl2: Extend local/global const analysis to slast.

This brings us to the point where we can run the launcher using
the local/global const analysis.
sl2: Only treat a function as pure if it's also const.

This lets us redefine a const function and get away with it.
Do not call the DynamicDisplayable function on per_interact.

It's not necessary, and can cause problems since st and at are not
correct.
Deal with problems that occur when we have no glyphs in a line.
sl2: Give constants to parameterized screens.

We can analyze parameterized screens more thoroughly than
non-parameterized screens, since the parameters limit what can
be overridden in the screens' scope.