Fix typo.

- Obvious typo. This g_bitdepth - 8 used to be g_bitincrement. Doesn't affect
  anything yet as we don't actually support bitdepth > 8 yet.
Resolve unsigned/signed mismatch warnings.

- Working towards issue #11.
Remove unreferenced parameters.

- Working towards issue #11.
Resolve warnings about assignments within conditions.

- Working towards issue #11.
Resolve possible uninitialized variable warnings.

- Working towards issue #11.

- Neither variable was actually used as uninitialized.
Resolve constant conditional expression warning.

- Working towards issue #11.

- I felt that the macro was a little bit too clever in hiding the if-else
  statements so I removed that aspect, which also has the minor benefit of not
  requiring the starting if (0) statement.
Disable warnings for extras/getopt.

- This isn't our code so we don't care about these warnings.
Enable -Wall by default.
Enable /W4 for VS.

- Disabled errors are:
 - Implicit conversion from bigger to a smaller type. I don't want to disable
   it but there are still about 60 of these and adding explicit C casts
   everywhere is just going to cause more problems.
 - Nonstandard extension: Non-constant aggregate initializer.
 - Translation unit is empty.