Protect dsn for inheritance, and added fourth PDO argument

```PHP
protected $dbh; 
```
So your class `NicePDO` allows any other extending class to obtain the `$dbh` I'm not sure if your `getDbh()` was supposed to act like a getter method, but I doubt it because its name is not generic. 

```PHP
$this->dbh = new PDO("{$dsn};dbname={$dbs};charset=utf8", $user, $pw, $driverOPtions);
```
The whole point of PDO is that it is database agnostic, so you should not limit the driver to be `mysql:host={$host}` instead allow people to inject the driver as this. 

```PHP 
$pdo = new NicePDO("mysql:host=localhost;", "dbname", "user", "pass");
```
the last addition is the driver options and type hinting, as you know the PDO object allows a fourth argument (an array) to be passed for setting additional attributes. ex:
```PHP
<?php
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password', array(PDO::ATTR_EMULATE_PREPARES => false, 
  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
```
More tutorial here
 http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers
and here https://github.com/simon-eq/pdowrapper