Refactor resolution, frame rate, and video format matching in win-dshow
Use <limits> instead of constant
Remove user config modifying code
Add device caps matching helpers
Add FPS/VideoFormat to name conversion helpers
Add DecodeDeviceId helper with DStr targets
Update config modified callbacks with disable/autoselection semantics

Autoselection is only implemented for frame rate as it doesn't make
sense to autoselect the video format (Any fills the role of library
supplied autoselection) or the resolution (it may make sense to
implement resolution matching based on the current transformation
settings in the future though)
Implement frame rate autoselection for win-dshow device update
Add name for VideoFormat::Any
Add FPS entries "Highest" and "Match OBS FPS" for win-dshow
Implement reconnecting

The core itself now provides reconnection options (enabled by default, 2
second timeout between reconnects, 20 retries max until actual
disconnection occurs).  This will make things easier for both module
developers and UI developers.

Reconnecting treats the stream as though it were still active, and
signals are sent when reconnecting and upon successful reconnection.

Need to implement user interface information for reconnections.
Add rename cache for thread safety

This just ensures that if an obs object is renamed that the pointer to
older names will still be valid.  Prevents renames from causing any
invalid memory access.

When the obs object is destroyed, so are the cached names.
Remove unnecessary context initialization code

There was no need to call the context free function in the
initialization function, and it's safer to just initialize the memory to
0 before using (which also negates the need for da_init)
Update de.txt

Fixed some typos and missing commas.
Merge pull request #136 from doctorluk/patch-1

Update de.txt
Merge pull request #135 from palana/dshow-property-data-changes

Implement recent property and data changes for win-dshow
Implement function to reset blend state

I was implementing a pushing/popping attributes function like with GL,
but I realized that for our particular purposes (and actually for most
purposes) its usage was somewhat..  niche.  I may still implement
pushing/popping of attributes in the future, though right now I feel
using a function to reset the state is sufficient for our purposes.
Reset blend state to default after drawing
Set default values for blend state structure
Add auto-reconnect settings