Woo Hoo. First git commit.

Changes for VC2013

Now, I can build Blender with VC2013 with Cycles, Collada, OpenExr,OpenImageIO disabled. Also, you need VC2008 sp1 installed to make old libs compatible.
D54: Added a filepath attribute to the read_homefile operator.

This attribute allows to open a blend file as an alternative
start-up file. The attribute is only available from python.
This is an example call:

    bpy.ops.wm.read_homefile(filepath='path/to/a/file.blend')

This patch also changes readfile.c to ensure that unintentionally
stored cursor states are not imported from the loaded file.
Fix T37566: KX_GameObject.resumeDynamics() was not properly restoring collision groups and masks.
Fix T36804: the property sensor when set to interval was causing a memory leak

The property sensor was using CValue::FindIdentifier(), which does an AddRef(). However,
the property sensor was not calling Release() when it was done with the value. This could
cause more leaks when used in conjunction with the copy property actuator since it would
really throw off ref counts.
Math Library: add functions cross_poly_v2, cross_tri_v2

also added utility macro for removing elements in the middle of an array
Code cleanup: minor changes to custom startup file property use
Geometry API: polyfill2d, ear clipping polygon filling functions.

Simple/predictable polygon filling functions (no hole support)
originally from libgdx which have some advantages over scanfill.

- always creates the same number of triangles (never any missing faces).
- gives same results for any affine transformation.
- doesn't give so many skinny faces by default.

made some changes for Blender.
- remove last ears first (less to memmove)
- step over the ears while clipping to avoid some verts becoming fans to most of the other.
BMesh/Mesh: replace scanfill with polyfill
View Navigation: Walk and Fly modes

Summary:
This is a replacement for the dynamic fly mode.
It behaves as the first person navigation system available
in most 3d world  games nowadays.

Shortcuts:
----------
Shift+F      - Start View Navigation operator
Ctrl+Shift+F - Stat old Navigation operator
WASD (hold)  - Move forward/backward and straft left/right
QE (hold)    - Move up and down
F            - Fly mode
R            - Walk Mode
Tab          - Alternate between Walk and Fly modes
Shift (hold) - Speed up movement
Alt (hold)   - Slow down movement
Space        - Jump (teleport when in fly mode)
T            - Teleport

User Preferences Options:
-------------------------
Navigation Mode   - fly/walk navigation systems
Mouse Sensitivity - sensitivity factor to mouse influence to look around
Teleport Duration - how long the duration last
Camera Height     - camera height to use in walk mode
Jump Height       - maximum jump speed in m/s
Move Speed        - base move speed in m/s
Boost Factor      - multiplication factor when running or going slow (1/boost)

Development Notes:
------------------
* The initial code was based on view3d_fly.c.
* The NDoF code was not touched, so it most likely is not working.
* I removed the deacelerate/accelerate code.

Pending Issues:
---------------
* The axis roll correction is disabled (it was affecting the move around code.
* Draw in the UI the shortcut options, and current values (e.g., Mode: Fly/Walk)
* We can rename Fly to Free, so Walk/Free Navigation is provided by this code, and Fly can use the old code.
* They would need to be integrated as one operator somehow (the code can be merged, but to evaluate whether it's worthy).

Reviewers: ideasman42

Differential Revision: http://developer.blender.org/D30
View Navigatino: rename fps to walk, now to change the internal variables
View Navigation: changes from review

Implemented:
* rename from fps to walk
* unifying walk and fly modes into VIEW3D_OT_navigate
* change up/down to Q/E keys
* expose gravity in the ui
* acceleration/deacceleration
* new shortcuts (MMB, ...)
* remove X/Z rolling
* teleport distance clamp to positive
* huge cleanup
* other small changes

Missing parts:
* walk->base_speed needs to be static or an operator settings
* Teleport should try to land in an offset to the hit point
* Speed could/should be relative to unit_settings.scale_length
* Testing/bug fixing
* Reverse mouse (I added a placeholder, but no functionality nor UI)

Not addressed:
* NDoF will not be supported for now
* We need a nice API to draw in the header while running the operator
View Navigation: pad alignment for DNA struct
View Navigation: fix aim draw not centered
View Navigation: Q/E no longer affects camera_height (they now only work on FREE
mode)
View Navigation: fix for when camera gets stuck
Code cleanup: basic compiler stuff
Style cleanup
removing commented out code
View Navigation: using camera control API
View Navigation: bug, not using EARTH_GRAVITY