add an inline argument to textOutput(), imageOutput(), plotOutput(), and htmlOutput()
closes #501: knit_print() for inline output uses the `inline` argument passed from knitr
preserve the formal arguments of plotOutput() in outputFunc()

otherwise outputFunc() loses the `inline` argument, and knit_print() won't be able to produce inline plots
roxygenize
merge doc of width and height in renderPlot() and plotOutput()
ignore width/height in plotOutput() when inline=TRUE, and document required width/height values in renderPlot()
roxygenize
Merge pull request #512 from yihui/feature/inline-output

Inline output in R Markdown documents
Add windowTitle parameter to navbarPage

Fixes #493
Merge pull request #523 from rstudio/feature/navbarPage-windowTitle

Add windowTitle parameter to navbarPage
add news for #512
bump version
recursively select the first choice, to make sure `selected` is a scalar, even when `choices` is a list of lists (optgroup)
closes #326: generate <optgroup> when `choices` is a named list of choices

note the nested level of optgroup can be greater than one here, however, the HTML4 spec only allows one level, i.e. optgroup must have select as its direct parent http://stackoverflow.com/q/1037732/559676
choicesWithNames() should also consider the optgroup case now: all optgroup nodes must be named
validateSelected() does not validate `selected` for the optgroup case; this function is only for shiny <= 0.9
factor out the code to generate options from checkboxGrouptInput() and radioButtons(), and use the new generator generateOptions() for them
make updateSelectInput(), updateCheckboxGroupInput(), and updateRadioButtons() work

now session$sendInputMessage() does not send options as the choices data, but as a pre-generated raw HTML string; in shiny.js, we just receive this string, and .append() it to the input after the input is emptied
when choice is not a list, we need to return its first element
when we need <optgroup> for the child elements of `choices`, we just generate it no matter what the child element is

e.g. we use <optgroup> for A even if A only has one element: list(A = 'a', B = c('b1', 'b2'))