0.3.0 gem, fixed rakefile. render_to_texture() now available, thanks to Spooner
updated README and CHANGELOG
version bump to 0.3.1, fixed texture size at 1024x1024 and updating some C documentation. Testing rebase.
changed behaviour of :caching option. Updated Rakefile, added tests for caching.

* :caching now accepts true, :lazy, false. Where :lazy is default (old behaviour of true). true does an immediate cache of the image.
* Also changed behaviour of create_image(), no longer does a rect() automatically - so speed of create_image should be dramatically improved as it now avoids a sync and a cache.
* added tests for new caching behaviour - using bacon.
* Renamed spec/ directory to test/
* Removed texplay-contrib dependence on rubygems.
* Modified Rakefile to provide a compile option
added tests and benchmarks. Benchmarks implemented using new benchmarking DSL
added stackable before/after blocks to bench_context.rb, now instance_evalling before/after blocks so that ivars are accessible. Constants can also be set as they're set in the top-level context
repeat is guaranteed not to be nil, so dont need to test for it, instead just set bm_block directly to proc { repeat.times ... } etc
replaced '.' indenter with space and refactored some code, also added support for time_mode, so users can specify how they want their benchmarks performed (i.e real, user, total time etc)
added time_mode option and refactored
Made it so `bench` method no longer displays output, output only shown when 'show' method is called on return from bench.

Long description
----------------

Issue:
'show' can be invoked like this:
(1)
show bench "bench1" do
  my code
end

or like this:
(2)
show bench("bench1") {
  my code
}

Problem is that block precedence rules make these two statements very different. In the first case the block is passed to the 'show' method itself.
In the second case the block is passed to the 'bench' method.

In an ideal world the 'block' would be passed to the 'bench' method in both situations, however because this is not the case
we must find a way of associating the block from 'show' with the data passed to 'bench'

Below is how we deal with these two situations.

Situation 1)

if 'bench' is invoked without a block then it returns the array [name, repeat, :without_own_block]. When show receives an array
with the last value of :without_own_block then it calls exec_bench(name, repeat, &block) passing in its
own block (remember the block was really intended for 'bench' anyway, here we are associating it with the data from bench)

The exec_bench method then executes the block and returns an array of the form [name, time, repeat_text, :with_own_block]
The show method then recursively calls itself this time with [name, repeat, :with_own_block] (the return from exec_bench())
This doesn't result in infinite recursion because the next time it's invoked it gos down the :with_own block branch where it simply displays
benchmark information to the screen.

Situation 2)

In this situation the block _is_ associated with the bench method so all the bench method has to do is invoke exec_bench() passing along name, repeat and &block
The exec method then executes the block and invokes show with these parameters [name, time, repeat_text, :with_own_block] which causes the show method
to only go down the :with_own_block branch and display the benchmark information to the screen immediately.

Summary:

We wanted nice syntax for 'show' without having to require parentheses. However due to ruby's precedence rules regarding blocks this wasn't
possible natively - as the block was sometimes associated with the 'show' method and other times associated with the 'bench' method.

Our solution simply causes any block passed to 'show' to instead be associated with the data from the 'bench' method. We utilize the exec_bench() method to
associate the block with the data.
added bench and context counts at end of bench for each context
updated dev without output formatting
saving state of baseline before moving output code into new output_format.rb file
output format attempt, almost complete
all working with new output_format class. About to commense slight refactor on bench_context.rb
output_format branch complete. All output forwarded to OutputFormat instance
fixed bug in rank (wasn't defined in the correct module
first commit
live.rb now working with RUbyParser for full multi-line edits a la irb
updated live.rb to use readline