Fixed use strict bug

For some reason, on my sudokuSolver, when using "use strict" it meant
that this was undefined. So, it's not a massive issue, just changed var
self = this to var self = this || {}.
CSS and HTML tag changes

I finally fixed that really annoying sudoku board border issue, it turns
out that it was just being hidden due to overflow: hidden;. So, changing
the board to display: inline-block; apparently fixed that. So, that's
good.

Because of that, I cleaned up the CSS a bit, changed a few small things.
Got rid of some un-needed css stuff and it looks much better now :-)

Also, changed some of the tags to html5 tags (header, section etc).
Should make things much nicer in terms of code readability, although I
have some way to go for that (especially with my sudoku board. man
that's ugly html).