Added possibility to pass custom database objects to DB Forge and DB Utilities

Also, their  property is no longer public and the utility class no longer extends CI_DB_forge.
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index f7bef6a..a8e34c9 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -33,14 +33,14 @@
  * @author		EllisLab Dev Team
  * @link		http://codeigniter.com/user_guide/database/
  */
-abstract class CI_DB_utility extends CI_DB_forge {
+abstract class CI_DB_utility {
 
 	/**
 	 * Database object
 	 *
 	 * @var	object
 	 */
-	public $db;
+	protected $db;
 
 	// --------------------------------------------------------------------
 
@@ -70,13 +70,12 @@
 	/**
 	 * Class constructor
 	 *
+	 * @param	object	&$db	Database object
 	 * @return	void
 	 */
-	public function __construct()
+	public function __construct(&$db)
 	{
-		// Assign the main database object to $this->db
-		$CI =& get_instance();
-		$this->db =& $CI->db;
+		$this->db =& $db;
 		log_message('debug', 'Database Utility Class Initialized');
 	}