Fix for locating the libtcod DLL through compilation.

VS by default mirrors project structure, so lib/ ends up in /bin/lib/

Also default to 32bit, because the current libtcod dll is a 32bit one.
Will probably wrap the 64bit/32bit problems up with rake.
Fix for DllImport default to __stdcall, we need __cdecl

This doesn't /have/ to be done, but basically NET35 targets would
be silently fixing up the stack for us, while NET40 would be complaining
when under a debugger.

Also fixes a marshalling issue with TCOD_bsp_t, rather than store the
pointer to TCOD_tree_t, store the three pointers contained in
TCOD_tree_t else we get corruption from misaligned memory.

This loses the ability to easily walk the TCOD_tree_t*, but that's
not normally required, it can also be patched up with some helper API.
SmrtPtr<T> is a quick wrapper around IntPtr

Basically a vague attempt to get some type-safety on pointers.
This may be deprecated when the next layer is finished, as that
will be more type-safe (By masking the fact that pointers are involved)
Fix DllImport to use __cdecl for Bresenham
Move shared librarys to top level and link them in csprojs
Merge branch 'develop' into feature/UnitTests