Added min accessor to ImageParams, and top/left/bottom/right helpers.
Added mechanism for selecting device types (HL_OCL_DEVICE)
If no devices are specified, use all.
Merge pull request #216 from dsharlet-intel/master

Added mechanism for selecting device types
Update a few calls to halide_error and halide_copy_to_host from apps. These were
missed in the user_context conversion since we don't do this via a header file.
Bit more info in debugging output so one can see the buf ptr and track
allocs and frees more easily if the buffer_t has the same address,
which it ususally does.
Comment out unused formal arguments in case there is a warning for them.
Filter out -lz -lpthread -lrt -ldl from llvm-config --libs

They don't work for the static compile.
Build target triples using the Triple::enums instead of string parsing

This fixes a bug where arm android wasn't actually eabi, resulting in
32-bit aligned stack pointers instead of 64-bit aligned, resulting in
chaos and misery.
Merge branch 'master' into opengl
Update function signatures and variable declarations.

- pass user context to halide runtime functions
- prefix opengl runtime with halide_opengl
- make sure all global variables are declared as WEAK
Add a subset of string.h functions
Use functions with correct prefixes
Don't generate sampler2D objects for ouptut buffers
Don't use gl* function names to prevent conflicts with macro names
Check for OpenGL v2.0
Fix bugs and simplify string.h replacements
Parse special comments in shader code
Compile fragment shader and link program