Twig Dump

Adds Twig function d() that recursively dumps passed variables

Example of dumping Cms\Classes\Page model:

Page {#505
  #dirName: "pages"
  #fillable: array:10 [
    0 => "url"
    1 => "layout"
    2 => "title"
    3 => "description"
    4 => "is_hidden"
    5 => "meta_title"
    6 => "meta_description"
    7 => "markup"
    8 => "settings"
    9 => "code"
  ]
  +apiBag: []
  +rules: array:2 [
    "title" => "required"
    "url" => array:2 [
      0 => "required"
      1 => "regex:/^\/[a-z0-9\/\:_\-\*\[\]\+\?\|\.\^\\$]*$/i"
    ]
  ]
  +components: []
  +settings: array:1 [
    "components" => []
  ]
  +viewBag: []
  #passthru: array:5 [
    0 => "lists"
    1 => "where"
    2 => "sortBy"
    3 => "whereComponent"
    4 => "withComponent"
  ]
  #isCompoundObject: true
  #viewBagCache: false
  +attributeNames: []
  +customMessages: array:1 [
    "url.regex" => "Invalid URL format. The URL should start with the forward slash symbol and can contain digits, Latin letters and the following symbols: ._-[]:?|/+*^$"
  ]
  #themeCache: null
  #datasource: null
  +attributes: []
  #original: []
  #appends: []
  #purgeable: []
  #allowedExtensions: array:1 [
    0 => "htm"
  ]
  #defaultExtension: "htm"
  #wrapCode: true
  #maxNesting: 2
  #loadedFromCache: false
  #observables: []
  +exists: false
  +implement: null
  #extensionData: array:3 [
    "extensions" => []
    "methods" => []
    "dynamicMethods" => []
  ]
  #emitterSingleEventCollection: []
  #emitterEventCollection: array:3 [
    "model.saveInternal" => array:1 [
      500 => array:1 [
        0 => Closure {#517
          class: "Cms\Classes\CmsObject"
          parameters: {
            $data: {}
            $options: {}
          }
          use: {
            $model: Page {#505}
          }
          file: "/home/96246.cloudwaysapps.com/autxknedyp/public_html/vendor/october/rain/src/Halcyon/Traits/Validation.php"
          line: "60 to 78"
        }
      ]
    ]
    "model.beforeDelete" => array:1 [
      0 => array:1 [
        0 => Closure {#516
          class: "Cms\Models\ThemeLog"
          use: {
            $template: Page {#505}
          }
          file: "/home/96246.cloudwaysapps.com/autxknedyp/public_html/modules/cms/models/ThemeLog.php"
          line: "42 to 44"
        }
      ]
    ]
    "model.beforeSave" => array:1 [
      0 => array:1 [
        0 => Closure {#518
          class: "Cms\Models\ThemeLog"
          use: {
            $template: Page {#505}
          }
          file: "/home/96246.cloudwaysapps.com/autxknedyp/public_html/modules/cms/models/ThemeLog.php"
          line: "46 to 48"
        }
      ]
    ]
  ]
  #emitterEventSorted: []
  #validationErrors: null
}