Fullscreen/bh — pull request #59 by claudiob (2014-11-07 23:28:06+00:00)
Title: Pass `progress_bar` extra params to the bar <div>

Before this commit, the `progress_bar` helper ignored unknown options.
For instance the code:

```rhtml
<%= progress_bar percentage: 30, label: 'Extra params', class: :important, id: 'my-bar', data: {value: 1} %>
```

would simply generate the following HTML

```html

Extra params

```

ignoring the `:class`, `:data` and `:id` parameter.
After this commit, the result is:

```html

Extra params

```

which should partially mitigate #39.

---

This commit also reduces public API methods from ProgressBarHelper

Before this PR, including `bh` in an app would include more methods
than necessary for progress bars: methods like `progress_bar_string` or
`context_for` that should only be accessed privately.

This PR extracts those private methods into a new Button class
that includes all the business logic to render elements and edit
attributes (e.g., attach classes), leaving the helper cleaner.