rename Python module from 'raytracer' to 'pyrit'
improve Python binding:
  - new objects: Container, Octree, KdTree, Shape,
    Pixmap, Sampler, DefaultSampler
  - all shapes are now subclasses of Shape
  - clean, remove redundant Getattr's
  - Raytracer render method now just wraps C++ method
    without doing any additional work
adjust all demos for changes in Python binding, remove PIL dependency
add demo_PIL.py as a example of pyrit + PIL usage
render_nff.py now either loads file given as a argument
    or reads input from stdin otherwise
fix bug in pixmap float to char conversion
Import('env')
env.Append(CPPPATH = '#include')
pyenv = env.Clone()
if env['PLATFORM'] == 'win32':
	import sys
	pythonver = '%c%c' % (sys.version[0], sys.version[2])
	pythonlib = 'python'+pythonver
	pythonpath = [env['pythonpath'],
		'C:\\Program Files\\Python'+pythonver]
	pyenv.Append(LIBS=pythonlib)
	pyenv.Append(CPPPATH=[s+'\\include' for s in pythonpath])
	pyenv.Append(LIBPATH=[s+'\\libs' for s in pythonpath])
	pyenv.Replace(SHLIBSUFFIX='.pyd')
else:
	pyenv.ParseConfig('python-config --includes --libs')
sources = [
	'raytracer.cc', 'scene.cc', 'shapes.cc', 'sampler.cc',
	'container.cc', 'kdtree.cc', 'octree.cc', 'material.cc',
	'serialize.cc', 'pixmap.cc']
objs = []
shared_objs = []
for src in sources:
	objs.append( env.Object(src) )
	shared_objs.append( env.SharedObject(src) )
pymodule = pyenv.SharedLibrary('pyrit',
	['raytracermodule.cc']+shared_objs,
	SHLIBPREFIX = '',
	CCFLAGS = '$CCFLAGS -Wno-write-strings')
lib = env.StaticLibrary('pyrit', objs)
env.Alias('objs', objs)
env.Alias('static-lib', lib)
env.Alias('shared-objs', shared_objs)
env.Alias('python-module', pymodule)
env.Alias('libs', ['static-lib', 'python-module'])
Return('lib pymodule')