function `mkd_line()` formats a line into a string,
similarly to `mkd_toc()`, `mkd_xml()`, and so on.
There are a whole bunch of new public functions now,
so I'm pushing the version up to 1.4.0
tokens instead of just matching the beginning of the line. This will
hopefully make it handle user html in a more graceful manner.
2. Fix theme so it won't dump the generated html into the parent directory
when I give it a directory name to themify.
--enable-amalloc) replaced malloc and its ilk with
versions that attempt to maintain a linked list of
allocated blocks that can be printed to stderr with
the `adump()` function.
2. Clean up a couple more places where I leak memory
during the first level parse.
3. tweak cstring.h to try to chase down places where
the C compiler might optimize EXPAND() into producing
broken code.
2. clean up \-escapes so that only special characters will be escaped.
3. Use the entity � as a token break.
4. check for the existance of goddamn gcc
2. in `theme.c` ...
1. use a keyword table instead of an inline islike() cascade.
2. make `?theme source?` print the **basename** of the pagename, and
3. add the new `?theme path?` to print the dirname of the pagename
3. when configuring, check for a sane (reentrant) `basename()` function.
4. when giving the package version#, say `discount` instead of `markdown`
`<script>` blocks are added by the simple expedient of adding "`SCRIPT`" to
the blocktags[] table, but `<style>` blocks need to be written into the
document `<head>`, so they have to be stored as a different type and
output with the new function `mkd_style()` and **not** by `mkd_generatehtml()`
2. define the flag `MKD_EMBED`, which turns on `<>` and `"`expansion.
3. modify `theme` so it keeps track of whether it's inside html tags and
whether it's in the header or body of a page.