Issue title: Docs for NeuralSurrogate
 Issue body: Three issues with the NeuralSurrogate docs

First, loading the recommended packages yields a warning

```julia-repl
julia> using Plots

julia> using Surrogates

julia> using Flux
┌ Warning: Package Surrogates does not have Flux in its dependencies:
│ - If you have Surrogates checked out for development and have
│   added Flux as a dependency but haven't updated your primary
│   environment's manifest file, try `Pkg.resolve()`.
│ - Otherwise you may need to report an issue with Surrogates
└ Loading Flux into Surrogates from project dependency, future warnings for Surrogates are suppressed.
```

This seems OK but it would be helpful to have a heads up for users.

Next, an error.
Following along, there is no `lb` or `ub`:

```julia-repl
julia> neural = NeuralSurrogate(x, y, lb, ub, model = model1, n_echos = 10)
ERROR: UndefVarError: lb not defined
Stacktrace:
 [1] top-level scope
```

Next if I make up some numbers, there is a typo

```julia-repl
lb, ub = -10, 10
surrogate_optimize(schaffer, SRBF(), lower_bound, upper_bound, neura, SobolSample(), maxiters=20, num_new_samples=10)
ERROR: UndefVarError: neura not defined
Stacktrace:
 [1] top-level scope
```

but even if I fix the typo I get an issue

```julia-repl
neural = NeuralSurrogate(x, y, lb, ub, model = model1, n_echos = 10)
surrogate_optimize(schaffer, SRBF(), lower_bound, upper_bound, neural, SobolSample(), maxiters=20, num_new_samples=10)
ERROR: InexactError: Int64(3.8564731213645262)
Stacktrace:
 [1] Int64
   @ ./float.jl:723 [inlined]
 [2] convert
   @ ./number.jl:7 [inlined]
 [3] setindex!(38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5Vector{Int64}, x38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5loat64, i38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5Int64)
   @ Base ./array.jl:839
 [4] surrogate_optimize(obj38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5typeof(schaffer), 38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5SRBF, l38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5Vector{Float64}, u38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5Vector{Float64}, surr38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5NeuralSurrogate{UnitRange{Int64}, UnitRange{Int64}, Chain{Tuple{Dense{typeof(σ), Matrix{Float32}, Vector{Float32}}, Dense{typeof(σ), Matrix{Float32}, Vector{Float32}}, Dense{typeof(identity), Matrix{Float32}, Vector{Float32}}}}, Surrogates.var"#237#241"{Chain{Tuple{Dense{typeof(σ), Matrix{Float32}, Vector{Float32}}, Dense{typeof(σ), Matrix{Float32}, Vector{Float32}}, Dense{typeof(identity), Matrix{Float32}, Vector{Float32}}}}}, Descent, Zygote.Params, Int64, Int64, Int64}, sample_typ38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5SobolSample; maxiters38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5Int64, num_new_samples38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5Int64)
   @ Surrogates ~/.julia/packages/Surrogates/lWGHe/src/Optimization.jl:117
 [5] top-level scope
```
 Comments: 
 Comment 0: Interesting, the test seems to be fine though? https://github.com/SciML/Surrogates.jl/blob/master/test/neuralSurrogate.jl
{'source': 'GithubIssues', 'repo_name_with_owner': 'SciML/Surrogates.jl', 'issue_id': 1051263785, 'repo_stars': 202.0}