Cycles: remove approximate subdivision surface with gregory patches code.

It was never fully implemented and will be replaced by OpenSubdiv. Only linear
subdivision remains now. Also includes some refactoring in the split/dice code,
adding a SubdParams struct to pass around parameters more easily.
Cycles: add ptex face ID and UV attributes.

Not the most memory efficient way to store these things but it's simple and
implementing it better requires some work to natively support subd grids as
a primitive in some way.
Cycles: experimental OSL ptex reading code.

This code can't actually be enabled for building and is incomplete, but it's
here because we know we want to support this at some point and there's not much
reason to have it in a separate branch if a simple #ifdef can disable it.
Cycles: experimental OpenSubdiv code.

This code can't actually be enabled for building and is incomplete, but it's
here because we know we want to support this at some point and there's not much
reason to have it in a separate branch if a simple #ifdef can disable it.
View3D: split camera controlling parts of fly mode into their own functions
Testing: added check for broken links to wiki docs
error in last commit
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