Rewrite several portions of the compiler

The new compiler requires that media queries be explicitly marked with
`^{:media true}` or `^:media`e.

The reason behind this is the original idea of assuming arbitrary meta
data suppose a media query is terrible. A data structure such as
`'({:a 1})` might contain the meta data `{:line 1, :column 8}`, for
example. This could lead to confusing results when the stylesheet is
rendered. By explicitly marking data structures this problem can be
(mostly) avoided.
Fixes #10: Correct ns typo
Fix all but one broken test in core_test
Add `cssfn` and `defcssfn` for creating and defining CSS functions
Default :output-style flag is :compressed not :expanded
Several updates to compiler and core (Fixes #11)

Compiler updates:
  - Discard `with-output-syle` and prefer configuration with *flags*
  - Extend Expandable and Renderable to additional types
  - Use `render-value` instead of `to-str` for slightly more control

Core updates:
  - `css` is no longer a macro #11
  - Add new function `style` for inline HTML styles
Strengthen media queries (Fixes #12)

To ensure the least amount of conflict with other meta data, media
query values must be stored directly under the :media key.

Ex.

^{:media {:screen true}}
[:h1 {:font-size (em 1.5)}]
Discard `render-value` it's behavior has undersirable consequences
Spruce up user ns
Use `defcssfn` to define functions
Remove unused *output-style* var
Relax expand-1

This allows other non-hash-map types to appear in the document so long
as *selector-context* is nil.
Add prefix and vendor-prefix functions
Introduce support for at-keyframes

Keyframe generation includes automatic vendor prefixing.
Include garden.stylesheet.functions in user ns
Remove several broken garden.stylesheet tests
Implement print-method for CSSFunction
Fix project description
Set development version
Fix failing test

The original output is actually desired, but until logic in the
compiler can be written to handle this case I am expecting this as the
correct result.

The :compact flag may be removed in favor of a :pretty-print? flag.