Add scalar, object ref name override and auto id incrementation support

Some changes in Object Reference implementation:

1. Scalars are supported, in order to follow original Ruby implementation:
```
$str = 'hello';
$int = 12;
%div[$str] // generates <div class="string" id="string_hello">
%div[$int] // generates <div class="integer" id="integer_12">
```

2. Object ids are auto-incremented if there is no id methods.
The aim is to prevent html ids collisions. Incrementation is based on class name:
```
$std = new stdClass;
%div[$std] // generates <div class="std_class" id="std_class_1">
%div[$std] // generates <div class="sdt_class" id="std_class_2">
$foo = new Foo();
%div[$std] // generates <div class="foo" id="foo_1">
```

3. Object Reference id can be overwritten with hamlObjectRef() method (see #23):
```
class foo {
  public function hamlObjectRef() {
    return 'customId';
  }
}
```
4; Uses of is_callable() instead of method_exists(), in order to be sure that method is really callable in given context.